[英]Cannot “send_message” in Telegram Bot API
在我自己的库中,我正在尝试使用Telegram Bot API中的“sendMessage” API方法发送消息。 我创建了一个标题为“my_channel123”的频道,我的用户名为“my_username123”。 所以我是频道的管理员和唯一的用户。
当我尝试从机器人向整个频道或我自己发送消息时,我收到错误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个调用都是正确的,这意味着我用于chat_id的格式是否正确?
请注意,很可能的情况是聊天或user_name的ID(或者更确切地说,格式)或其他内容, 因为我的库中的其他post和get方法正常工作。
在将消息发送到频道之前,您必须将机器人添加为频道的管理员 。 完成后,您的第一行应该工作:
my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")
还要记住, @
后面的内容应该是频道用户名 ,而不是标题。
在向频道发送消息时,我认为最简单的方法是使用频道ID发送消息...有几种方法可以获取频道ID
@ChannelIdBot
...虽然机器人仍然需要作为管理员在频道中,以便发送消息...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.