使用Telethon将消息转发至其他群组话题/线程的问题
解决Telegram群组消息转发到指定话题的问题
你之前尝试的「群组ID/话题编号」格式不符合Telethon的参数要求,要转发到指定话题,需要通过send_message方法的reply_to参数指定话题ID。
修改步骤:
- 新增变量存储目标话题的ID(比如你要转发到的话题编号是6)
- 在调用
send_message时添加reply_to参数,传入话题ID
修改后的完整代码:
from telethon import TelegramClient, events API_ID = '2####1' API_HASH = '9#######7' SESSION_NAME = 'Forward-Rose-and-Kim' SOURCE_GROUP_ID = -948809343 DESTINATION_GROUP_ID = -1001805701971 # 新增:指定要转发到的话题ID DESTINATION_TOPIC_ID = 6 client = TelegramClient(SESSION_NAME, API_ID, API_HASH) async def forward_message_to_destination(message): # 修改:添加reply_to参数指定话题 await client.send_message(DESTINATION_GROUP_ID, message, reply_to=DESTINATION_TOPIC_ID) print(f"Message forwarded: {message.text}") @client.on(events.NewMessage(chats=SOURCE_GROUP_ID)) async def forward_messages(event): message = event.message await forward_message_to_destination(message) with client: client.run_until_disconnected()
关键说明:
reply_to参数在论坛群组中用于指定消息要发送到的话题线程,传入的话题ID就是你看到的话题编号(比如你提到的6)- 确保目标群组是论坛类型(支持话题功能),普通群组没有话题概念,这个参数会无效
内容的提问来源于stack exchange,提问作者Smokey Van Den Berg
相关产品推荐
相关产品推荐

