如何解决Telethon 从带有 id 的频道读取消息
你好,我使用的是 Telethon 1.21.1 这里的大多数问题已经过时了。
此脚本任务是读取每个 ID 特定频道的消息。
我不确定在哪里传递频道的信息,以及如何使用该方法以正确的方式读取 msg。 await
但我不知道我是怎么做到的
这就是我所拥有的:
my_private_channel_id = "-100777000"
my_private_channel = "test"
api_id = # 7 Digit Telegram API ID.
api_hash = '' # 32 Character API Hash
phone = '+' #Enter Your Mobilr Number
client = TelegramClient(phone,api_id,api_hash)
async def main():
await client.send_message('me','Hello !!!!') # just to test connection
with client:
client.loop.run_until_complete(main())
client.connect()
if not client.is_user_authorized():
client.send_code_request(phone)
client.sign_in(phone,input('Enter verification code: '))
chats = []
last_date = None
chunk_size = 200
channels=[] #target channel
result = client(GetDialogsRequest(
offset_date=last_date,offset_id=0,offset_peer=InputPeerEmpty(),limit=chunk_size,hash = 0
))
chats.extend(result.chats)
for chat in chats:
try:
if chat.channels== True:
readmsg = client.get_messages(chat,None)
except:
continue
解决方法
from telethon import TelegramClient,events
client = TelegramClient('session',api_id,api_hash)
@client.on(events.NewMessage(chats="@TelethonUpdates"))
async def my_event_handler(event):
print(event.text)
client.start()
client.run_until_disconnected()
这是正确而简单的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。