Я использую Telethon для автоматизации некоторых вещей из каналов Telegram. Я уже получил свой ключ API, хэш и токен и могу начать новый сеанс с помощью Telethon.
Проблема в том, что когда новое сообщение поступает из некоторых выбранных каналов, я хочу напечатайте текст, но код, который я написал, похоже, не работает, и я не понимаю, почему.
Он правильно входит в цикл печати «Прослушивание», но ничего не печатается при поступлении нового сообщения.
Это мой код
import configparser
import asyncio
from telethon import TelegramClient, events
# Reading Configs
config = configparser.ConfigParser()
config.read("config.ini")
# Setting configuration values
api_id = int(config['Telegram']['api_id'])
api_hash = str(config['Telegram']['api_hash'])
phone = config['Telegram']['phone']
username = config['Telegram']['username']
channels_list = ["channel1", "channel2"] #these are public channel names taken from https://web.telegram.org/k/#@channelname for example
async def main():
client = TelegramClient('session_name', api_id, api_hash)
await client.start(phone)
@client.on(events.newmessage.NewMessage())
async def my_event_handler(event):
print("hello")
print(event)
sender = await event.get_sender()
if sender.username in channels_list:
channel = sender.username
# get last message of the channel
async for message in client.iter_messages(channel, limit=1):
print(message.text)
print("Listening...")
await client.run_until_disconnected()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Подробнее здесь: https://stackoverflow.com/questions/787 ... g-telethon
Читать сообщения из общедоступного канала Telegram с помощью телемарафона ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Бот Python, который меняет URL-адрес группы Telegram с помощью телемарафона
Anonymous » » в форуме Python - 0 Ответы
- 61 Просмотры
-
Последнее сообщение Anonymous
-