Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2022 00:26:07

sanchepanso
Зарегистрирован: 2022-05-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

Доброго времени суток: Проблема такова что скрипт берет рандомно по одной строке из txd, а мне нужно весь текст из txd.

 from random import choice
import requests as r
import time
s = r.Session()
s.headers['authorization'] = input('Token: ')
msg_set: list = open('msg.txt', 'r', encoding='utf-8').read().splitlines()
chat_id = input('Input chat id: ')
delay = int(input('Delay between messages in seconds: '))
total_sent = 0
while True:
    try:
        msg = choice(msg_set)
        print(f'Sending message {msg}')
        _data = {'content': msg, 'tts': False}
        resp = s.post(
            f'https://discord.com/api/v9/channels/%7Bchat_id%7D/messages', json=_data).json()
        msg_id = resp['id']
        total_sent += 1
        print(f'Message sent (Already {total_sent} in total).')
        print(f'Sleeping {delay} seconds')
        time.sleep(delay)
    except Exception as e:
        print(f'Some error: {e}')
        time.sleep(20)

В пайтоне я вовсе чайник, если кому не сложно перепишите скрипт что бы полностью текст брался, а не рандомно строки

Прикреплённый файлы:
attachment msg.txt (1002 байта)

Офлайн

#2 Май 22, 2022 00:49:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

sanchepanso
а мне нужно весь текст из txd
  
fname = 'msg.txt'
 
with open(fname, encoding='utf-8') as fin:
    text = fin.read()
 
print(text)



Офлайн

#3 Май 22, 2022 01:29:17

sanchepanso
Зарегистрирован: 2022-05-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

py.user.next
И куда это вставлять? Можно пожалуйста готовый вариант, ибо я совсем чайник, сорян. Буду благодарен.

Офлайн

#4 Май 22, 2022 01:52:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

Ты лучше напиши скрипт заново сам. А этот скрипт используй как референс.

sanchepanso
Нужно изменить что бы скрипт брал весь текст
С чего ты взял-то, что этот скрипт идеальный? Полная хрень написана. Не надо её менять.

sanchepanso
Можно пожалуйста готовый вариант, ибо я совсем чайник, сорян. Буду благодарен.
Если сам будешь писать, тебе будут помогать. Если сам не будешь писать, тебя сначала пошлют на хуй, потом подождут когда ты начнёшь залупаться в ответ, а потом пошлют ещё раз и забанят. А потом будут хихикать над тобой, а ты даже ответить не сможешь. Так что ты будь осторожнее в таких наглых высказываниях, а то это закончится для тебя очень обидно, будешь страдать потом.



Отредактировано py.user.next (Май 22, 2022 01:53:29)

Офлайн

#5 Май 22, 2022 02:27:08

sanchepanso
Зарегистрирован: 2022-05-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

py.user.next
Ты лучше напиши скрипт заново сам. А этот скрипт используй как референс.
лан пасиб

Офлайн

#6 Май 22, 2022 02:41:02

sanchepanso
Зарегистрирован: 2022-05-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

py.user.next
страдать
А все же, как мне применить тот код который ты мне дал? Что значит “fname”, за что она отвечает?

Офлайн

#7 Май 22, 2022 09:36:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

sanchepanso
А все же, как мне применить тот код который ты мне дал? Что значит “fname”, за что она отвечает?
Вот смотри
sanchepanso
  
msg_set: list = open('msg.txt', 'r', encoding='utf-8').read().splitlines()
вот это явно писал какой-то тупень. Он зачем-то указал тип у msg_set, типа он умный такой, а функцию open() использует неправильно. Прочитал файл и держит файл открытым до конца программы. Вообще эти сцепки тоже считаются дурным тоном, так как при возникновении ошибки в какой-то из частей этой сцепки эту ошибку не отловишь, так как не будешь точно знать, в каком из фрагментов сцепки она возникла. Стиль дурака, короче.
В этом коде всё в подобном стиле, поэтому не надо его переписывать, переделывать. Его надо просто выкинуть и больше к тому источнику не обращаться, где этот код был взят.

sanchepanso
то значит “fname”, за что она отвечает?
fname - это сокращение от file name.
Имя файла или даже полный путь к файлу записывается в эту переменную и потом через эту переменную передаётся в функцию open(), которая запускается в операторе контекста with, который проконтролирует закрытие файла сразу, как только файл будет прочитан. В переменной text после этого всего останется всё содержимое файла в виде строки, а сам файл будет уже закрыт к тому времени. Дальше эту переменную text можно брать и работать с ней, передавая её дальше таким же образом, как передавалось имя файла в функцию open() через переменную fname. В частности, в моём примере переменная text передаётся в функцию print(), чтобы содержимое переменной вывелось на экран. Но также переменную text можно передавать ещё куда-нибудь.

Так что можешь
Эту строку
  
msg_set: list = open('msg.txt', 'r', encoding='utf-8').read().splitlines()
заменить на этот код
  
fname = 'msg.txt'
 
with open(fname, encoding='utf-8') as fin:
    text = fin.read()
А потом эту строку
  
msg = choice(msg_set)
заменить на этот код
  
msg = text
Возможно, это будет работать, но это если только твой первоначальный код хоть как-то работает.



Отредактировано py.user.next (Май 22, 2022 09:37:06)

Офлайн

#8 Май 22, 2022 13:29:17

sanchepanso
Зарегистрирован: 2022-05-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно изменить что бы скрипт брал весь текст из txd

py.user.next
Увы, не работает, фиг с ним, спасибо что попытался помочь

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version