我知道它是如何工作的。我尝试了这段代码,但机器人将消息发送到错误的位置。 也许这个话题有一些特殊的论点? 无论我尝试做什么,所有消息都会发送到一般主题。
import os
import asyncio
from typing import Optional
from telegram import ForumTopic
from telegram import Bot, Message
import time
class AsyncBotClient:
def __init__(self, bot_token: str):
self.bot = Bot(token=bot_token)
async def send_message(
self,
chat_id: str,
text: str,
*,
parse_mode: Optional[str] = None,
disable_web_page_preview: Optional[bool] = None,
disable_notification: Optional[bool] = None,
reply_to_message_id: Optional[int] = None,
api_kwargs: Optional[dict] = None,
) -> Message:
return await self.bot.send_message(
chat_id=chat_id,
text=text,
parse_mode=parse_mode,
disable_web_page_preview=disable_web_page_preview,
disable_notification=disable_notification,
reply_to_message_id=reply_to_message_id,
api_kwargs=api_kwargs,
)
async def main():
bot_token = ""
async_bot_client = AsyncBotClient(bot_token)
topic_id = "-1002124######_33903"
message_text = "test"
await async_bot_client.send_message(chat_id=topic_id, text=message_text)
if __name__ == "__main__":
asyncio.run(main())
我查看了电报机器人文档,发现我缺少每个创建的主题都有的 msg_thread_id 参数。