如何使用 telegram bot 在群聊中接收消息 api
How to receive messages in group chats using telegram bot api
我的电报机器人接收用户在私人聊天中发送给我的机器人的消息,但不接收用户在群聊中发送的消息。任何options/api也用于获取群聊消息,。
与 @botfather 交谈并禁用隐私模式。
BotFather 聊天中的顺序:
你: /setprivacy
BotFather:选择一个机器人来更改群消息设置。
你:@your_name_bot
BotFather:'Enable' - 您的机器人将只接收以“/”符号开头或通过用户名提及机器人的消息。
'Disable' - 您的机器人将接收人们发送到群组的所有消息。
当前状态为:启用
你:禁用
机器人之父:成功!新状态是:已禁用。 /帮助
默认情况下,机器人将仅接收任何用户通过 /command@YourBot any message you send
直接发给它的消息。
之后,它可以通过 getUpdates API 调用获得。
在浏览器中它将是:
https://api.telegram.org/botToken/getupdates
在输出中找到相关消息 JSON 并获取 chatId。它将允许您回复:
https://api.telegram.org/botToken/sendmessage?chat_id=123456788&text=My Answer
您可以通过发送 /mybots
到 Botfather
来访问所有机器人的所有可用设置。选择 bot,然后选择 Bot Settings 和 Group Privacy。如果它被禁用(默认),您可以点击 Turn off.
现在可以使用 GetUpdates
接收聊天记录。这可以通过 HTTP API 或框架来完成。例如,在 C# (.NET Core) 中是这样的:
var bot = new TelegramBotClient(ApiToken);
var updates = bot.GetUpdatesAsync().Result;
foreach(var update in updates) {
Console.WriteLine($"{update.ChannelPost.Date} {update.ChannelPost.Text}");
}
但请记住,此功能实现了某种完美的前向保密。因此,您只会收到 在 组隐私被禁用后发送的消息。因此,GetUpdates
结果为空,直到 post 被生成。
管理员在群里制作你的机器人。
如果您在禁用隐私模式之前添加了您的机器人,您应该将机器人从群组中删除并重新添加
我的电报机器人接收用户在私人聊天中发送给我的机器人的消息,但不接收用户在群聊中发送的消息。任何options/api也用于获取群聊消息,。
与 @botfather 交谈并禁用隐私模式。
BotFather 聊天中的顺序:
你: /setprivacy
BotFather:选择一个机器人来更改群消息设置。
你:@your_name_bot
BotFather:'Enable' - 您的机器人将只接收以“/”符号开头或通过用户名提及机器人的消息。
'Disable' - 您的机器人将接收人们发送到群组的所有消息。
当前状态为:启用
你:禁用
机器人之父:成功!新状态是:已禁用。 /帮助
默认情况下,机器人将仅接收任何用户通过 /command@YourBot any message you send
直接发给它的消息。
之后,它可以通过 getUpdates API 调用获得。
在浏览器中它将是:
https://api.telegram.org/botToken/getupdates
在输出中找到相关消息 JSON 并获取 chatId。它将允许您回复:
https://api.telegram.org/botToken/sendmessage?chat_id=123456788&text=My Answer
您可以通过发送 /mybots
到 Botfather
来访问所有机器人的所有可用设置。选择 bot,然后选择 Bot Settings 和 Group Privacy。如果它被禁用(默认),您可以点击 Turn off.
现在可以使用 GetUpdates
接收聊天记录。这可以通过 HTTP API 或框架来完成。例如,在 C# (.NET Core) 中是这样的:
var bot = new TelegramBotClient(ApiToken);
var updates = bot.GetUpdatesAsync().Result;
foreach(var update in updates) {
Console.WriteLine($"{update.ChannelPost.Date} {update.ChannelPost.Text}");
}
但请记住,此功能实现了某种完美的前向保密。因此,您只会收到 在 组隐私被禁用后发送的消息。因此,GetUpdates
结果为空,直到 post 被生成。
管理员在群里制作你的机器人。
如果您在禁用隐私模式之前添加了您的机器人,您应该将机器人从群组中删除并重新添加