如何解决在电报上发送消息:“禁止:bot 不是超级群聊天的成员”或“禁止:bot 不是频道聊天的成员”
我正在尝试通过电报聊天发送消息。 我希望电报设置只能通过官方用户界面完成,因为我希望它可能由最终用户完成。
这是我做的电报设置:
- 我通过获取令牌与 Botfather 创建了机器人
XXXXXXX_bot
:没问题 - 我创建了一个频道:
- 点击“新频道”
- 频道名称:
TestChannel
- 点击“下一步”
- 选择“私人频道”
- 点击“保存”
- 添加我的机器人
XXXXXXX_bot
- 点击“设为管理员”
- 点击“保存”
- 我创建了聊天:
- 打开频道
TestChannel
- 在频道菜单上,选择“管理频道”
- 在讨论中点击“添加群组”
- 点击“创建新群组”
- 组名:
TestChannelChat
- 点击“创建”
- 点击“保存”
- 打开频道
- 我将机器人添加到新组:
- 打开群组
TestChannelChat
- 在右侧面板上,我点击“添加成员”
- 添加我的机器人
XXXXXXX_bot
- 点击“添加”
- 右键单击聊天中新添加的用户,然后选择“晋升为管理员”
- 点击“保存”
- 打开群组
这是频道管理员的设置:
归根结底,电报用户界面中的聊天/群组设置如下:
我进行了以下 http 调用:
GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannelChat&text=coucou
这给了我以下答案:
{
"ok": false,"error_code": 403,"description": "Forbidden: bot is not a member of the supergroup chat"
}
我还做了以下(绕过实际聊天,直接在频道发布消息):
GET https://api.telegram.org/botXXXXXXTOKENXXXXXXX/sendMessage?chat_id=@TestChannel&text=coucou
这给了我以下答案:
{
"ok": false,"description": "Forbidden: bot is not a member of the channel chat"
}
一个简单的问题,因为机器人也用于广播消息,我缺少它的哪一部分设置?
解决方法
您正处于使用 Telegram 机器人的正确轨道上。但首先要了解 chat_id
。
chat_id
是聊天的 用户名 或 id。您只能为公共聊天/群组设置用户名。在您的情况下,您有一个私人组并且没有用户名。您传递的 chat_id
的值 @TestChannelChat
不属于您的聊天。您必须传递聊天的 id
或设置一个公共用户名并传递它。
如果您不知道如何查看聊天的 id
,请阅读此处:https://stackoverflow.com/a/38388851/10359385
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。