【问题标题】:restricting users on nodejs telegram bot限制nodejs电报机器人上的用户
【发布时间】:2020-10-07 12:47:50
【问题描述】:

我目前有一个电报机器人为我的组织用户提供常见问题解答 但我需要限制它,以便只有支付了指导费用的某些人才能使用该产品

我是否可以要求人们输入存储信息的用户 ID 号 因此,如果代码中没有列表,则无法访问机器人

我的机器人目前是用 nodejs 语言编写的(基于this repo)。

[
    {
        "triggers": [
            "hello",
            "hi"
        ],
        "replies": [
            {
                "reply": "Hi Im your Personal Lion Bot \r\n\r\nWhat do you want to focus on today\r\n\r\n>Trading Help\r\n\r\n>Business Help\r\n\r\n>Mindset\r\n\r\n>Schedule\r\n\r\n>Just Started\r\n\r\n>Help",
                "type": "text"
            }
        ]
    },
    {
        "triggers": [
            "trading",
            "Trading"
        ],
        "replies": [
            {
                "reply": "Ok you want to focus on trading\r\n\r\nHeres is what I can show you\r\n\r\n>Our Schedule\r\n\r\n>A Trading Gameplan\r\n\r\n>Trade Ideas\r\n\r\n>Trading Products",
                "type": "text"
            }
        ]
    }
]

【问题讨论】:

  • 请分享机器人代码的 sn-p(您希望限制访问的处理程序)
  • 您好,已将其添加到主消息中
  • 你用的是什么库?我只看到一个 JSON,没有逻辑.. 你在使用一些云解决方案吗?
  • 它目前在我的计算机上使用 npm install 和 npm start 功能在计算机终端上运行
  • 什么库?你用npm install 安装了什么? package.json 文件的 dependencies 部分里面有什么?

标签: node.js bots telegram restrict


【解决方案1】:

您需要知道您的付费用户的 ID,然后仅当 msg.from.id 在您的允许用户列表中时才回复他们的消息。

类似:

function check_if_allowed(id) {
  ...
}

bot.on('message', (msg) => {
  if (check_if_allowed(msg.from.id)) {
    ...
  }
})

要找到他们的 ID 取决于您在组织中注册他们的方式。

如果您需要更多帮助,请添加更多详细信息和代码

【讨论】:

  • 谢谢你如何制作实际列表对不起我对这个完全陌生
  • @AlShan 除了列出清单,如果上述答案正确,请将其标记为已接受,以便其他人使用。使用虚假列表来实现答案并查看它是否有效是一个好主意。然后你应该打开一个新线程询问如何在订阅后捕获用户 ID
  • @AlShan 这实际上取决于您如何处理为指导付费的用户。如果他们是从网页上购买的,那么您可以给他们一个邀请链接,例如 t.me/mentorship_bot?start=123456,然后您在处理 /start 命令时阅读代码,并将此代码与用户 ID 相关联。如果您需要更多帮助,请详细介绍您的流程并显示您的代码
猜你喜欢
  • 2022-12-11
  • 2017-10-24
  • 2020-10-12
  • 2017-11-28
  • 2021-10-22
  • 2018-07-01
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多