首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道用户在哪里开始聊天?从内部小组还是直接从内部机器人?

如何知道用户在哪里开始聊天?从内部小组还是直接从内部机器人?
EN

Stack Overflow用户
提问于 2021-11-09 08:59:47
回答 1查看 354关注 0票数 0

我用telegraf.js制作了电报机器人

bot工作正常,但是如果用户直接从bot内部发送消息,那么我需要处理另一件事情,比如bot应该重播帮助命令文档(例如)。

问题是:

如何重新定位用户开始聊天的地方?从内部聊天组还是直接从内部机器人?

我试过了

代码语言:javascript
复制
 var groupInfo =await ctx.telegram.getChat()

未获成功

我觉得解决办法很简单,但我现在还找不到。

谢谢你的进阶。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-09 11:34:45

您应该查看电报文档中的聊天类型。它有一个名为Type的字段,并根据文档:

聊天的类型,可以是“私有”、“组”、“超级组”或“频道”。

因此,在telegraf.js中,您可以通过以下方式检查字段:

代码语言:javascript
复制
bot.on('text', (ctx) => {
    return ctx.reply(`Chat type is: ${ctx.message.chat.type}`)
})

在您的示例中,ctx.message.chat.type == "private"是私下发送给bot的消息,而ctx.message.chat.type == "group"ctx.message.chat.type == "supergroup"是发送给组的消息。

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

https://stackoverflow.com/questions/69895311

复制
相关文章

相似问题

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