V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Davic1
V2EX  ›  问与答

像 Telegram, Discord 之类的机器人后台是怎么实现的的?

  •  
  •   Davic1 · 2022-11-22 12:50:29 +08:00 · 1693 次点击
    这是一个创建于 750 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有哪些关键字可以搜索到他们实现机器人的原理?

    找到的大多资料都是直接用他们的 API 做他们平台上的 bot 。如果不需要他们的平台, 但也想实现他们平台上 bot 的功能,比如 /poll 创建投票 /xxx 响应一系列指令 应该搜索哪些关键字?
    6 条回复    2022-11-22 14:31:42 +08:00
    boris93
        1
    boris93  
       2022-11-22 12:53:26 +08:00 via iPhone
    直接看 telegram 和 discord 的文档
    telegram 机器人就是接收你发的指令,后端字符串匹配,匹配到了就进分支处理
    boris93
        2
    boris93  
       2022-11-22 12:56:52 +08:00
    比如一个 Google Script 写的 telegram 机器人后段是这样的

    ```
    const COMMAND_START = "/start";

    function doGet(event) {
    return HtmlService.createHtmlOutput("It's working!");
    }

    function doPost(event) {
    var contents = JSON.parse(event.postData.contents);
    var command = String(contents['message']['text']);

    switch (command) {
    case COMMAND_START:
    sendChatId(contents);
    break;
    default:
    console.warn("command=%s message=Unknown command", command);
    break;
    }
    }
    ```
    Davic1
        3
    Davic1  
    OP
       2022-11-22 13:10:26 +08:00
    @boris93 我其实更想要一种 bot api server , 可以自己搭建, 不需要某平台的帐号, 以 Web 形式暴露。Telegram bot api server 很不错, 可是他还需要有 Telegram 根据某个注册帐号, 获得认证密钥后,才可使用。

    而且部署后,其他人应该也必须使用 telegram 才能使用注册在这个 bot server 的 bot ,有没有一种可以自己部署,并公开访问 bot (比如通过 Web ) 的框架 /模块?
    Davic1
        4
    Davic1  
    OP
       2022-11-22 13:10:46 +08:00
    mooyo
        5
    mooyo  
       2022-11-22 13:42:27 +08:00
    @Davic1 Microsoft Azure bot 提供了 web chat 功能。
    krixaar
        6
    krixaar  
       2022-11-22 14:31:42 +08:00
    没看明白,你要找的是不是 PHP 教程?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5426 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:49 · PVG 10:49 · LAX 18:49 · JFK 21:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.