@antirusachok
Мои схемы заработка - vsepartnerki.com

Автоотвечик Telegram на Python (Telethon) не отправляет сообщения. В чем причина?

Всем привет! Потребовалось написать автоответчик для одного из своих профилей Telegram, чтобы он отправлял в ответ только одно сообщение с заданным текстом. Сам имею околонулевые знания в Python, по-быстрому набросал следующий говнокод (используется библиотека Telethon):
import asyncio
import configparser
from telethon.sync import TelegramClient, events

# Импортируем конфигурационный файл
config = configparser.ConfigParser()
config.read("config.ini")

# Присваиваем значения внутренним переменным
api_id = config['Telegram']['api_id']
api_hash = config['Telegram']['api_hash']
username = config['Telegram']['username']

# Массив для хранения ID пользователей, отправивших сообщение
user_id_list = []

# Создание объекта клиента Telegram
client = TelegramClient(username, api_id, api_hash)

# Запуск клиента
client.start()

# Событие на новое входящее сообщение
@client.on(events.NewMessage(incoming=True, forwards=None))
async def handler(event):
    user_info = event.message.to_dict()['from_id']
    user_id = user_info['user_id']
    count = 0
    for i in user_id_list:
        if i == user_id:
           count += 1
        else:
            continue
    if count == 0:
        user_id_list.append(user_id)
        await asyncio.sleep(5)
        await client.send_message(user_id, 'Техт')
    print(user_id_list)

client.run_until_disconnected()

Когда отправляю сообщение со своего второго аккаунта, автоответчик срабатывает. Но если отправляют другие пользователи, то не срабатывает. Пробовал заносить ID пользователей в базу данных и JSON файл и перебирать из них, но картина не поменялась. В чем может быть проблема?
  • Вопрос задан
  • 728 просмотров
Пригласить эксперта
Ответы на вопрос 1
Вообще send_message принимает username, но никак не user_id.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы