Python 不能;发送“信息”;电报机器人API

Python 不能;发送“信息”;电报机器人API,python,api,telegram,telegram-bot,Python,Api,Telegram,Telegram Bot,在我自己的库中,我试图使用Telegram Bot API中的“sendMessage”API方法发送消息。我已经创建了一个名为“my_channel123”的频道,我的用户名是“my_username123”。所以我是该频道的管理员,也是唯一的用户 当我试图从机器人向整个频道或我自己发送消息时,我收到一个错误错误请求400。下面是我如何做到这一点的: my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd") # or my_

在我自己的库中,我试图使用Telegram Bot API中的“sendMessage”API方法发送消息。我已经创建了一个名为“my_channel123”的频道,我的用户名是“my_username123”。所以我是该频道的管理员,也是唯一的用户

当我试图从机器人向整个频道或我自己发送消息时,我收到一个错误
错误请求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格式正确吗


请注意,最可能的情况是聊天室id或用户名(或者更确切地说,格式)或其他,因为我的库中的其他post和get方法工作正常。

您必须将bot添加为频道的管理员,然后才能将消息发送到频道。完成此操作后,第一行应该可以工作:

my_bot.send_message(chat_id="@my_channel123", text="tetfdsfd")

还请记住,
@
后面的内容应该是频道用户名,而不是标题。

向频道发送消息时,我认为使用频道id发送消息最简单。。。 有几种方法可以获取通道id

  • 如果bot是频道中的管理员(转到“添加管理员…”并搜索您的bot以添加它),那么在频道中发送的任何消息,bot都可以看到它,并且在每条消息中都有发送者的id,如果在频道中,则是频道id
  • 使用此bot
    @ChannelIdBot
    。。。虽然机器人仍然需要以管理员的身份出现在通道中,但为了发送消息