Всем привет! Потребовалось написать автоответчик для одного из своих профилей 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 файл и перебирать из них, но картина не поменялась. В чем может быть проблема?