在我自己的库中,我试图使用来自telegram bot api的“send message”api方法发送消息。我创建了一个名为“MyChhanNel123”的频道,我的用户名是“MyuUsReNAME123”。所以我是频道的管理员,也是唯一的用户。
当我试图从一个BOT向整个频道或我自己发送一条消息时,我得到一个错误Bad request 400
。我就是这么做的:
my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")
# or
my_bot.send_message(chat_id="@my_channel123my_username123", text= "tetfdsfd")
# or
my_bot.send_message(chat_id="@my_username123", text="tetfdsfd")
我相信错误是以信道或用户名的ID格式或两者兼而有之。这3个电话都正确吗,这意味着我用来聊天的格式正确吗?
注意,最有可能的情况是聊天室的id或用户名(或者更确切地说,格式)或其他东西,因为我的库中的其他post和get方法工作正常。
最佳答案
在将消息发送到通道之前,必须添加BOT作为通道的管理员。在你这样做之后,你的第一行应该是:
my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")
还要记住,遵循
@
的任何东西都应该是频道用户名,而不是标题。