ETH官方钱包

前往
大廳
主題

用C#.NET來(lái)製作linebot:#3:linebot的架構(gòu)

小受NECO | 2021-08-21 12:06:01 | 巴幣 2 | 人氣 987

3.linebot的架構(gòu)
a.LINE Official Account Manager
b.LINE Developers
.調(diào)整設(shè)定
記住資訊
c.伺服器
比較表
d.你的BOT(你的專案的程式碼)

3.linebot的架構(gòu)

上一篇所提到的LINE Official Account Manager就只是在設(shè)定聊天室的基礎(chǔ)功能,
如果要加上程式碼來(lái)控制,還要先做一些前置作業(yè)。
首先,請(qǐng)打開(kāi)LINE Decelopers
請(qǐng)點(diǎn)右上角的登入。
語(yǔ)言的部分只有英文與日文,我覺(jué)得日文比英文好讀,我就選日文了
反正就算翻譯網(wǎng)頁(yè),也都是一些讓人看不懂的奇葩翻譯跟大陸用語(yǔ)
如果真的有需要,還不如去查英文單字的意思,然後記住它還可以增加自己的單字量
一顆石頭兩隻鳥(niǎo)啊
登入之後,點(diǎn)選自己的頭像,跳到另一個(gè)跟LINE Official Account Manager相似的頁(yè)面
這時(shí)候,左邊的帳號(hào)列表應(yīng)該還是空空如也
這是因?yàn)槲覀儎?chuàng)建的官方帳號(hào)還沒(méi)有啟用MessagingAPI的關(guān)係
回到LINE Official Account Manager,按右上角的「設(shè)定」。
將「回應(yīng)設(shè)定」>「回應(yīng)模式」設(shè)定為
聊天機(jī)器人
可使用自動(dòng)回應(yīng)訊息及Webhook功能。
將Messaging>
服務(wù)提供者其實(shí)也沒(méi)有硬性規(guī)定要寫(xiě)誰(shuí)或哪家公司,隨便取名就好
接著你就會(huì)獲得Channel ID跟Channel secret的資訊
再回到LINE Decelopers,就可以看到列表上有剛剛設(shè)定的帳號(hào)了
點(diǎn)進(jìn)去你的帳號(hào)。
接下來(lái),我們只會(huì)用到第二頁(yè)的MessagingAPI設(shè)定
點(diǎn)開(kāi)設(shè)定後,你會(huì)看到QRCODE=加入此帳號(hào)的QRCODE
可以利用的API:回復(fù)訊息(REPLY)發(fā)送訊息給特定對(duì)象(PUSH)
webhook設(shè)定:可以讓使用者訊息通往你設(shè)計(jì)的的機(jī)器人
以及最底下的Channel access token
如果你也有看過(guò)其他的教學(xué),那你應(yīng)該也知道
Channel secret、Channel  access token
這兩個(gè)資訊是要記下來(lái)的吧
token的部分只要按Issue(發(fā)行)就會(huì)產(chǎn)生
什麼是TOKEN呢?
TOKEN直譯的話就是令牌,在這裡是指用程式碼來(lái)操作這隻官方帳號(hào)時(shí)所需要的一串超長(zhǎng)隨機(jī)碼。
雖說(shuō)它的長(zhǎng)度上真的蠻不容易被破解的,不過(guò)一旦被人知道了,任何人都能利用這串隨機(jī)碼對(duì)你的使用者發(fā)送一些亂七八糟的訊息。
如果真的發(fā)生了這種事,請(qǐng)按Reissue重新發(fā)行令牌,並檢視官方帳號(hào)的權(quán)限,搞不好就是共同管理者中出了叛徒。
secret?那不重要,至少這篇教學(xué)用不到。

伺服器
這跟上面的webhook設(shè)定有著緊密的關(guān)係
你的BOT程式碼必須在網(wǎng)路上發(fā)布,而且要是https的網(wǎng)址才能跟LINE@鉤在一起
在這邊我會(huì)介紹兩種比較簡(jiǎn)單的方式,分別是ngrok與heroku。
ngrok:把自己的電腦作為主機(jī)運(yùn)行程式碼,透過(guò)ngrok工具發(fā)佈到網(wǎng)路上,可在2小時(shí)內(nèi)使用https的網(wǎng)址。官網(wǎng)下載點(diǎn):https://ngrok.com/download,下載後直接解壓縮就能得到exe檔。使用方式的部分後面會(huì)講到,先下載來(lái)放著就好。
heroku:他是一個(gè)網(wǎng)路上的平臺(tái)服務(wù),可以讓你把程式碼放在上面運(yùn)作,跟一般的伺服器比起來(lái),由於是免費(fèi)的服務(wù),所以加上了一些限制,最主要就是「休眠」。如果半小時(shí)不去碰他,程式碼就會(huì)進(jìn)入休眠模式,下次呼叫的時(shí)候就要等待大約20秒左右才會(huì)回應(yīng)。
不過(guò)...他是「免費(fèi)」的。許す。
網(wǎng)路上有很多註冊(cè)heroku的教學(xué),過(guò)程不外乎就是信箱驗(yàn)證碼之類的,我就不在這邊多說(shuō)ㄌ。

當(dāng)你將程式碼上傳到heroku上/使用ngrok後,就相當(dāng)於在網(wǎng)際網(wǎng)路上擁有一個(gè)網(wǎng)址,而LINE@MessagingAPI可以透過(guò)這個(gè)網(wǎng)址(webhook)來(lái)傳送使用者的訊息給你的程式碼,當(dāng)程式碼分析內(nèi)容後,再回覆一個(gè)適當(dāng)?shù)挠嵪⒔o使用者。

送禮物贊助創(chuàng)作者 !
0
留言

創(chuàng)作回應(yīng)

更多創(chuàng)作