首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户加入频道时的电报机器人事件

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

Stack Overflow用户
提问于 2016-07-12 17:07:33
回答 3查看 34.2K关注 0票数 21

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

EN

回答 3

Stack Overflow用户

发布于 2018-02-05 15:57:47

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

Telegram API既非常强大,就API的go而言也相当简单。如果你使用轮询的方法来获取更新,而不是websockets,这是另一个问题,检查是否有新的人被添加到组或通道中是非常容易的。

getUpdates方法返回一个Update对象数组,其中包含您想要的所有可能信息,包括发送的任何消息、内联查询和新的聊天成员。要获得任何新的聊天成员,您只需访问update.message.new_chat_members,其中将包含一组新用户。有关参考信息,请参阅API文档here

要在浏览器中或使用curl获取更新对象,您需要做的就是向https://api.telegram.org/botYOUR-BOT-TOKEN/getUpdates发送GET或POST请求。那就去找messages->new_chat_members吧。

如果你在NodeJs中使用Telegraf机器人框架,你可以在事件new_chat_members中使用bot.on方法。

示例:

代码语言:javascript
复制
bot.on('new_chat_members', (ctx) => console.log(ctx.message.new_chat_members))

我知道不久前有人问过这个问题,但我希望这能帮助其他人搜索。

票数 24
EN

Stack Overflow用户

发布于 2020-01-07 02:36:37

来自docs

new_chat_members添加到超级组的新成员及其相关信息(机器人本身可能是这些成员之一)

所以我觉得你不能。

票数 2
EN

Stack Overflow用户

发布于 2020-09-20 22:59:13

是!您可以使用以下命令:

https://api.telegram.org/bot[TOKEN]/promoteChatMember?chat_id=@[channelname]&user_id=[user_id]

如果用户加入响应是ok,否则响应就不是ok。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38324448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档