用户加入频道时的电报机器人事件

Ali*_*adi 10 bots telegram

创建电报机器人后,访问并管理此机器人通道.如何在用户加入此频道时获取频道成员列表或事件?

wat*_*zon 14

对当前的答案感到非常失望,所以我将留下一个更新的(截至2018年2月)答案,解释如何使用Telegram API本身以及我正在使用的框架Telegraf for Node.

Telegram API非常强大,就API而言非常简单.如果您正在使用获取更新的轮询方法,而不是另外一个问题的websockets,那么检查是否有人将新内容添加到组或通道中非常容易.

API方法getUpdates返回一个Update对象数组,其中包含您可能需要的所有可能信息,包括发送的任何消息,内联查询和新的聊天成员.要获得任何新的聊天成员,您只需访问update.message.new_chat_members哪些将包含一组新用户.作为参考,您可以在此处查看API文档.

要在浏览器中或使用curl获取更新对象,您只需向https://api.telegram.org/botYOUR-BOT-TOKEN/getUpdates发送GET或POST请求即可.然后只是寻找messages->new_chat_members.

如果您使用带有NodeJ的Telegraf bot框架,则可以将该bot.on方法与事件一起使用new_chat_members.

例:

bot.on('new_chat_members', (ctx) => console.log(ctx.message.new_chat_members))
Run Code Online (Sandbox Code Playgroud)

我知道这是前一段时间被问过的,但我希望这有助于其他人搜索.

  • @watzon问题是你只能获得**new_chat_members**的更新,仅适用于群组和超级群组,但不适用于**频道** (5认同)