iT邦幫忙

0

LINE BOT聊天機器人-第二步-建立回聲機器人

  • 分享至 

  • xImage
  •  

這次要來建立一個我說甚麼你跟著說的機器人。

你需要從剛剛申請的LINE帳號中拿兩個東西跟你的程式碼做連結,透過這兩個東西LINE才知道要做什麼事情。

1.在Basic settings頁籤中,找到Channel secret(頻道密碼)
2.在Messaging API頁籤中,找到Channel access token(頻道憑證)

其中,要驗證訊息是否符合你要的格式,主要是由Channel secret(頻道密碼),而發送訊息&回覆訊息則是由Channel access token(頻道憑證)來運作,你可以先把他想像成是帳號跟密碼的概念。

在開始製作機器人之前你要先到這個網址(https://github.com/line/line-bot-sdk-python)
下載line bot sdk,然後用pip install line-bot-sdk這個指令安裝,line bot sdk這個是一個模組,是LINE提供給Python 讓我們控制LINE聊天機器的的模組。

程式碼

檔案名稱app.py

from flask import Flask, request, abort
from flask.logging import create_logger

LINE bot 必要套件

from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)

app = Flask(name)
LOG = create_logger(app)

LINE 聊天機器人的基本資料

line_bot_api = LineBotApi('聊天機器人的 Chennel access token')
handler = WebhookHandler('聊天機器人的 Channel secret')

接收 LINE 的資訊

@app.route("/callback", methods=['POST'])
def callback():
signature = request.headers['X-Line-Signature']

body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)

try:
    handler.handle(body, signature)
except InvalidSignatureError:
    abort(400)

return 'OK'

學你說話

@handler.add(MessageEvent, message=TextMessage)
def echo(event):

if event.source.user_id != "Udeadbeefdeadbeefdeadbeefdeadbeef":
    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text=event.message.text)
    )

if name == "main":
app.run()


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言