Line BOT 實作

現在流行的 line機器人

line bot 

git

heroku

 

相信最近因為  紳士O  的崛起

很多人想嘗試看看自己來寫個line bot

可以設定一些字語,來達到"解答"的一些公用

那就首先先來說一下要準備的東西

需要一個Git平台的帳號

和一個Heroku平台的帳號

都不用錢,且做法簡單。

參考:http://www.evanlin.com/create-your-line-bot-golang/

這位大大寫的相當詳細,請參考他的影片邊做,一下子就上手,作出一個鸚鵡,你說什麼他就回什麼!!

接下來改寫才是重點

將他的git上傳至您的git中,並在git平台上修改main.go檔案

再callback 的function中可以看到這段



for _, event := range events {
		if event.Type == linebot.EventTypeMessage {
			switch message := event.Message.(type) {
			case *linebot.TextMessage:
				if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage(message.ID+":"+message.Text+" OK!")).Do(); err != nil {
					log.Print(err)
				}
			}
		}
	}

這段就是做回覆用的語法

下列為Line 文字訊息的json格式

{
  "events": [
      {
        "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
        "type": "message",
        "timestamp": 1462629479859,
        "source": {
             "type": "user",
             "userId": "U206d25c2ea6bd87c17655609a1c37cb8"
         },
         "message": {
             "id": "325708",
             "type": "text",
             "text": "Hello, world"
          }
      }
  ]
}

GO語法小弟也不太熟,都是上網查API DOC來看,這邊就附上一些文件,給大家參考參考

Golang online : https://play.golang.org/p/3VsQMI4Rx5

http://pythonnote.blogspot.tw/2014/07/go-1.html

http://www.misitang.com/index.php/archives/124/

 

當你再Git編寫完後,到Heroku(你跟line bot 連結的app)

這樣就會開始 編譯和上傳上去,可以馬上看到變化。

這邊要提醒一下,我在這裡遇到的挫折。

1. 不管import 還是 var 宣告,只要你寫了,就一定要用到,不然就要拿掉。

2.有些import,必須分開寫在不同.go中(下章會教到)

 

希望大家看了,都能寫出好用的line bot