介绍
使用 Telegram 提供的 Bot Webhook 将消息数据传递至托管在 Google Apps Script 的 Javascript 脚本处理,实现一些简单的功能。
Webhook: 向 Telegram 设置回调 url,机器人察觉到任何行为,Telegram 就会把行为 Json 数据 Post 到你设定的 url 。
Google Apps Script: https://script.google.com
Telegram Bot API:https://core.telegram.org/bots/api/
提前准备
- Telegram 账号
- Google 账号
- Javascript 的基础知识
创建机器人
打开 Telegram 向 @botfather 发送 /newbot 命令
依次发送机器人名称、机器人用户名(一旦确认无法修改)
? 机器人就创建成功了,你会得到机器人的 token (后面要用到)
新建脚本
打开 Google Apps Script 新建项目,复制以下代码到新建项目中
将第10行的 (token) 替换为你的机器人的 token
function doPost(e) { //接受 Telegram 消息数据
main(JSON.parse(e.postData.contents))
}
function send(payload) { //发送函数
data = {
"method": "post",
"payload": payload
}
UrlFetchApp.fetch("https://api.telegram.org/bot(token)/", data)
}
function main(body) {
stext = body.message.text.split(" ") //以空格分割消息文本,通常第一是命令文本
stext[0] = stext[0].replace("@机器人的用户名", "") //处理群消息的命令
if (stext[0] == "/start") { //判断命令
payload = {
"method": "sendMessage", //使用的方法
"chat_id": body.message.chat.id + "", //回应对象的id,所有id记得转文本
"text": "成功啦!!", //发送的文本
}
send(payload) //发送
}
}
点击保存图标,点击 部署 中的 新建部署,点击 选择类型 的 ⚙️ 选择 Web 应用
有访问权限的人员 改为 任何人,点击 部署
首次部署需要授予访问权限,显示 此应用未经 Google 验证 时点击 高级,点击 转至未命名项目(不安全),点击 允许
部署成功后复制 Web 应用网址(下一步用到)
设置 Webhook
修改以下 url 的 (token) 与 (Web 应用网址) ,并复制至浏览器打开
https://api.telegram.org/bot(token)/setwebhook?url= (Web 应用网址)
显示如下内容就是设置成功啦,按道理机器人已经搭建好了!
{“ok”:true,“result”:true,“description”:“Webhook was set”}
测试一下
? 大功告成!!
向我们的机器人发送 /start 即可得到脚本中所设定的回应。
更多的功能就等各位自己利用 API 去开发实现啦!