我该如何在与Telegram机器人进行的聊天中创建一个话题?
该 二月更新 指出,他们
允许机器人在私聊中使用名为 createForumTopic 的方法来创建话题。
使用Grammy框架,我试着做
bot.api.createForumTopic(chatId, name)
并且我得到的是
调用 'createForumTopic' 失败!(400: Bad Request: 该聊天不是一个论坛)
我不知道到底该如何真正创建一个机器人的话题。在 bot.api.getMe() 里面,有 allows_users_to_create_topics: false,所以看起来我必须以某种方式进行配置,但究竟该怎么做?
他们还把 added has_topics_enabled 添加到了 User,但在 ctx.from 中,没有这样的字段。因此,我并不完全确定
- 话题在机器人中是否被支持(几乎可以肯定,但没有相关文章说明怎么做);
- 增加话题需要机器人配置(很可能是这样的,从
allows_users_to_create_topics: false看,但具体怎么修改?我在BotFather里没找到相关选项,在机器人管理界面里也没有); - 增加话题需要用户权限。
欢迎提供关于如何添加话题的帮助。
PS我也尝试过
bot.api.setChatPermissions(chatId, {
can_manage_topics: true,
})
但结果是
Bad Request: can't change private chat permissions
解决方案
你需要通过与 @BotFather 交谈,为你的机器人开启 Threaded Mode(线程模式):

更多信息链接到 https://core.telegram.org/bots#natively-integrate-ai-chatbots
之后,我终于用下面的内容创建了一个话题
https://api.telegram.org/botTOKEN/createForumTopic?chat_id=123&name=foo
服务器返回:
{"ok":true,"result":{"message_thread_id":6780867,"name":"foo","icon_color":7322096}}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。