众所周知,TG提供着一个近乎无线容量的个人云空间,同时TG拥有信息、资源聚合的特性,以及功能完备的机器人接口、对开发者友好的开放平台。 鉴于以上,目前我的想法是做一个,可以索引公共信息并且聚合信息同时提供私有云上传/下载服务功能的自动化机器人。 该 @Bot 教程后续通过 Java 平台持续开发。
一共是三个功能点。
- 解析信息
- 索引信息
- 私有云上传/下载
前期工作
-
创建机器人(@BotFather /newbot)
-
从 @BotFather 中取得 token
-
发送 GET 请求,获取 bot 接收到的信息
-
设置Webhook(当bot接收到消息后自动发送POST请求到指定url)
-
先尝试用gmail部署钩子脚本应用
https://api.telegram.org/bot(token)/setwebhook?url=callbackur
-
基础脚本代码
function doPost(e){ var estringa = JSON.parse(e.postData.contents); var payload = identificar(estringa); var data = { "method": "post", "payload": payload } UrlFetchApp.fetch("https://api.telegram.org/bot(token)/", data); } function identificar(e){ if (e.message.text){ var mensaje = { "method": "sendMessage", "chat_id": e.message.chat.id.toString(), "text": e.message.text, } } else if (e.message.sticker){ var mensaje = { "method": "sendSticker", "chat_id": e.message.chat.id.toString(), "sticker": e.message.sticker.file_id } } else if (e.message.photo){ var array = e.message.photo; var text = array[1]; var mensaje = { "method": "sendPhoto", "chat_id": e.message.chat.id.toString(), "photo": text.file_id } } else { var mensaje = { "method": "sendMessage", "chat_id": e.message.chat.id.toString(), "text": "Try other stuff" } } return mensaje }
-
-
通过上面的流程,一个基础的
复读机bot 就算是做好了,后续将会继续深入 bot 的其他接口进行定制化开发。