Telegram Bot Api使用教程

郭弘盛
2023-12-01

创建机器人

在telegram中我们可以通过和一个名为BotFather的机器人交互来申请我们自己的机器人,具体步骤如下

  1. 添加BotFather为好友
  2. 打开和botfather的对话框发送 /newbot
    输入机器人名称 -> 机器人ID_bot 或 机器人IDBot
    这一步过后botfather会提示你输入你要创建的机器人的名字,这个名字可以随意,是我们称呼它的名字
  3. 设置自定义机器人的名字(这个名字不同于上一步的名字,这个名字是唯一的)结尾必须是_bot或者Bot,不能包含中文, 标点符号

如果上一步执行成功那么botfather会返回该机器人的token,大概长这样

123456789:ABCDEfghiJK4314daDSadSa7
记住这个token,到这里机器人就创建好了

开启群消息可访问权限

  1. 打开和botfather的对话框发送 /mybots 选择需要设置的机器人
  2. 依次点击Bot Settings -> Group Privacy -> Turn off
  3. 使Turn off 更改为 Turn on 状态即可

将机器人添加到群组里

进入机器人信息页面,点击更多,点击添加到群组,选择一个群组即可

获取群组chat_id#
通常来说我们都需要让机器人在一个群组里工作,所以首先我们需要将机器人添加到我们指定的群组,在群组里发送随意消息并@这个机器人,比如我的机器人

hello @isnppBot
然后浏览器打开这个链接,注意替换为你的token

https://api.telegram.org/bot/getUpdates
你看到的是一个json,格式如下

{
  "ok": true,
  "result": [
    {
      "update_id": 414941268,
      "message": {
        ...
        },
        "chat": {
          "id": -465512321,
          ...
        },
        ...
     }
  ]
}

从中找到chat.id这就是当前群组的id,以后发消息就是发到这个id.

机器人发送请求

请求接口

telegram发送消息的方式类似与钉钉机器人,都是向一个api发送http请求,而且对于同一个APItelegram支持GET和POST两种请求方式.请求的api格式如下

https://api.telegram.org/bot<token>/<method>

其中token为你的机器人token,method为telegram给定的方法,在获取群组chat_id那一步就使用了telegram的其中一个方法(getUpdates),其他方法后面会介绍

携带参数

请求api时有些方法需要携带参数,telegram支持的传参方式/类型如下

URL查询参数
application/x-www-form-urlencoded
application/json
multipart/form-data(上传文件使用这个content-type)

获取响应

对于每次请求telegram都会有一个响应,响应的内容是一个json,格式如下

{
  "ok": true,
  "result": ...
}

其中返回的result可以是telegram定义的对象或者是对象的列表

 类似资料: