Почему возникает ошибка «bytes or str expected, not class 'list'» при использовании файлов из текстового документа?

from telethon import TelegramClient, sync, events
from time import sleep
from telethon.errors import PeerFloodError
from telethon.tl.functions.messages import SendMessageRequest

api_id = 123
api_hash = 123

client = TelegramClient('Spam-session', api_id, api_hash)
client.start()

inputnames = input('Введите путь к файлу с базой: ')
usernames = open('users.txt', 'r')

def spam():
    for username in usernames:
        try:
            print("Отправка сообщений....")
            client(SendMessageRequest(str(username), open('text.txt', encoding='utf8').readlines()))
            print('Сообщение отправилось')
            sleep(20)

        except PeerFloodError:
            print("Cлишком много запросов к Телеграму.")
            sleep(10)
            continue
        except Exception as e:
            sleep(10)
            print("Ошибка:", e)
            print("Пытаемся продолжить...")
            continue


spam()
print("All OK")

на выходе
Введите путь к файлу с базойC:\Users\User\Desktop\софт для телеграма\users.txt
Отправка сообщений....
Ошибка: bytes or str expected, not <class 'list'>
Пытаемся продолжить...
All OK


кто знает в чем проблема?
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
@GeneD88
QA
open('text.txt', encoding='utf8').readlines() - возвращает список строк. Делайте join на этом списке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы