Telegram圖文詳解-- 編程機器人(谷歌腳本服務)

昨天寫的怎麼創建機器人,如果想讓機器人有一定的實用價值,還是要進行編程的。

今天所說的是使用谷歌的腳本服務,部署腳本服務通過webhook與Telegram的機器人連接完成,機器人的響應。

Telegram可以使用外部的任何服務,也包括一些智能機器人不錯的接口。

廢話不多說了,開始

1、首先要有一個谷歌賬號,很有用的,搞一個吧。另外,就是要有JavaScript基礎。

2、然後google搜索 Google Apps Script 進入在線腳本編程。

或者點擊 https://www.google.com/script/start/

然後 “Start Scripting”-->"新建腳本"

3、添加如下代碼

function doGet(e){
  return HtmlService.createHtmlOutput("你好,我是一個新的機器人服務請求!");
}
 
 
function doPost(e){
  var dataFromTelegram = {
    "method": "post",
    "payload": e.postData.contents
  }
  //講請求數據的內容不符 轉JSON對象
  var body = JSON.parse(e.postData.contents);
  //轉爲字符型 
  body.message.chat.id = body.message.chat.id + '';
 //處理請求內容和返回結果
  var payload = preparePayload(body);
  //這是 數據格式  
  var data = {
    "method": "post",
    "payload": payload
  }
 //調用跳轉接口,把結果返回給對應Token的Telegram機器人
  UrlFetchApp.fetch("https://api.telegram.org/bot627711111117:ADAxxxxxxxxxxxxxv8E/", data);
}
function preparePayload(body){
  var payload;
   
  if (body.message.text){ //接收到文本 
      var restText = body.message.text;
      if(restText.indexOf("名字") >= 0){
         restText = "我叫小單!";
      }
     //消息體
      payload = {
          "method": "sendMessage",
          "chat_id": body.message.chat.id,
          "text": restText,
      } 
     
  }
  else if (body.message.sticker){ //接收到表情 直接返回表情
    payload = {
      "method": "sendSticker",
      "chat_id": body.message.chat.id,
      "sticker": body.message.sticker.file_id
    }
   }
  else if (body.message.photo){//接收到圖片,直接返回圖片
    array = body.message.photo;
    text = array[1];
    payload = {
      "method": "sendPhoto",
      "chat_id": body.message.chat.id,
      "photo": text.file_id
    }
   }
    else {
    payload = {
      "method": "sendMessage",
      "chat_id": body.message.chat.id,
      "text": " 對不起,無法識別內容!!"
    }
   }
  return payload
}

其中

UrlFetchApp.fetch("https://api.telegram.org/bot627711111117:ADAxxxxxxxxxxxxxv8E/", data);

紅色部分改成自己的Token。

4、發佈  

點擊 最新代碼可以測試 ,返回 doGet結果。 複製RUL。

爲了訪問不報錯,和一定的信息安全,可以DECODE一下。

在線工具: 

https://www.url-encode-decode.com/

 

選擇賬號允許!

5、將兩個URL通過webhook拼起來

https://api.telegram.org/bot6277:AAENk-JAjufs7HxxxE/setwebhook?url=https%3A%2F%2Fscript.google.com%2Fmacros%2Fs%2FAKfycbzNjr_To%2Fexec

 

放入瀏覽器訪問,如果返回ok 就已經連接上了。

可以使用 getWebhookInfo 查看webhook信息。

{"ok":true,"result":{"url":"https://script.google.com/macros/s/AxxxxxxxxxxTo/exec","has_custom_certificate":false,"pending_update_count":0,"last_error_date":1551864805,"last_error_message":"Wrong response from the webhook: 401 Unauthorized","max_connections":40}}

6、測試機器人

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章