Telegram 机器人发起与用户的对话

Telegram bot initiate conversation with a user

我正在编写一个 Telegram 机器人,为了简化问题,假设您可以在频道中向机器人提问,它会私下回复您。当机器人收到命令时,它会从以下位置获取用户的 chat_idupdate.message.from_user.id

但是当我这样做时出现错误:

Unauthorized: Forbidden: bot can't initiate conversation with a user

这听起来很合乎逻辑,因为我认为这可以防止编写垃圾邮件机器人。问题是我如何克服它?如何让用户启用来自机器人的私人消息?

注意:机器人确实成功地向我发送了消息,但没有成功地向其他用户发送消息。

Telegram 机器人无法发起与用户的对话。 只有用户可以通过单击 start 按钮来启动它。没有办法解决这个问题。

在您的情况下,您可以要求用户在 开始聊天机器人之前 在频道中提问,例如通过附加一个包含聊天机器人 URL 的按钮( https://t.me/bot_username).

message.from_user.id

试试看

message.chat.id