gpt4 book ai didi

telegram - 如何在 Telegram/开始时回显消息?

转载 作者:行者123 更新时间:2023-12-05 00:49:52 28 4
gpt4 key购买 nike

我想使用它的 deep linking 通过 Telegram 设置身份验证接口(interface)。

为了进行身份验证,在我的应用中,我要求用户点击如下链接:

https://telegram.me/myloginbot?start=somesecretkey

如果我正确理解了文档,我应该期望机器人将 somesecretky 回显到我的服务器。

现在,我不清楚文档的这一步:

  1. Configure the webhook processor to query Memcached with the parameter that is passed in incoming messages beginning with /start

如果我理解正确,我需要配置 myloginbot 以便当用户单击机器人页面上的开始按钮时,机器人会向我的服务器回显一个包含 somesecretkey 的 url > 和一些用户信息。但我不知道该怎么做。

this回答,建议:

  1. Let the bot retrieve the username by querying the database or key-value storage for unique_code.

但我不知道如何让机器人查询(可能是远程的)数据库。

非常感谢您的提示。

最佳答案

我对深度链接的理解是这样的:

  1. 你有一个用户数据库。每个用户都有一个 ID。假设您希望 Telegram 机器人与用户 123 进行通信。但是你不知道他的 Telegram chat_id(机器人需要它来向他发送消息)。你如何“引诱”他与机器人交谈,从而揭示他的 chat_id?你在网页上放了一个链接。

  2. 但链接必须“个性化”。您希望每个用户按下稍微不同的链接,以便区分它们。一种方法是在链接中嵌入用户 ID。但是,用户 ID 不是您想要公开的东西,因此您生成与每个用户 ID 相关联的(临时) key ,并将该 key 嵌入到链接中。例如,用户 123 具有 key abcde。他的个性化链接将是:

    https://telegram.me/myloginbot?start=abcde
  3. 有人点击该链接,并被引导至与您的机器人对话。同时(或者当他按下开始按钮时),你的机器人会收到一条消息:

    /start abcde
  4. 收到该消息后,机器人会发现 abcde 与用户 123 相关联。 Telegram chat_id 也可以从消息中提取。现在,bot 知道了用户 123chat_id,之后就可以给他发消息了。

要试验深度链接,您需要一个能够处理 /start 消息的机器人,并由能够记住键 ID 关联的“数据存储区”提供支持。当 Telegram 文档说“memcache”时,它们只是指存储 key-ID 关联的东西。对于一个实验,它可能像字典或关联数组一样简单。在现实生活中,可能是 Memcached(内存缓存软件),也可能是数据库表。

如果你使用 Python,我建议你看看 telepot ,Telegram Bot API 的 Python 框架。它本身不进行深度链接,但它确实可以帮助您接收机器人的消息,以及一般的其他机器人操作。我还有一个 example 演示了如何输出个性化链接、设置 webhook 并使用 key 解析传入的 /start 命令。

关于telegram - 如何在 Telegram/开始时回显消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35111939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com