日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

LINE chatbot机器人开发

發(fā)布時(shí)間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LINE chatbot机器人开发 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

LINE 提供服務(wù),先到 LINE Develpers 登入及註冊(cè)。

先到 https://developers.line.biz/en/ 登入

登入後,注冊(cè),填寫 Name 、Email,並發(fā)送信箱認(rèn)證信

選擇要使用的服務(wù): Messaging API for python。

Create new channel

完成相關(guān)資料輸入 => App icon、App name、Description、Category、 Subcategory、 Email address、 Privacy Policy URL、 Terms Of Use URL

Confirm:確認(rèn)輸入資料正確性

channel 建立成功

Messaging settings:

Use webhooks 切換成 Enabled
Webhook URL :先留空白,等建立 Webhook URL 後,再回頭設(shè)定

這邊不用設(shè)定,最下面有 chatbot 的 QR code ,用於加入用戶進(jìn)行對(duì)話。

佈署到 heroku

在專案資料夾新增名稱為 Procfile 的檔案

web: node app.js

如果電腦有安裝 heroku CLI,則可以於專案資料夾路徑執(zhí)行下面指令:

heroku login
會(huì)與連結(jié)到 heroku 網(wǎng)站,點(diǎn)選 log in 再回到 CLI,已登入 heroku

建立一個(gè) heroku app

heroku create
成功建立,左邊是 app 網(wǎng)址,右邊是 git push 位址

可用 git remote -v 指令來查詢
將專案 push heroku master

git push heroku master
push 後,會(huì)偵測(cè)哪一種語(yǔ)言撰寫的 app、建置 runtime environment、Installing binaries、Installing dependencies(相關(guān)套件)

from __future__ import unicode_literalsimport os import sys import redisfrom argparse import ArgumentParserfrom flask import Flask, request, abort from linebot import (LineBotApi, WebhookParser ) from linebot.exceptions import (InvalidSignatureError )from linebot.models import (MessageEvent, TextMessage, TextSendMessage, ImageMessage, VideoMessage, FileMessage, StickerMessage, StickerSendMessage, LocationMessage ) from linebot.utils import PY3app = Flask(__name__)# get channel_secret and channel_access_token from your environment variable channel_secret = os.getenv('LINE_CHANNEL_SECRET', None) channel_access_token = os.getenv('LINE_CHANNEL_ACCESS_TOKEN', None)# obtain the port that heroku assigned to this app. heroku_port = os.getenv('PORT', None)if channel_secret is None:print('Specify LINE_CHANNEL_SECRET as environment variable.')sys.exit(1) if channel_access_token is None:print('Specify LINE_CHANNEL_ACCESS_TOKEN as environment variable.')sys.exit(1)line_bot_api = LineBotApi(channel_access_token) parser = WebhookParser(channel_secret)@app.route("/callback", methods=['POST']) def callback():signature = request.headers['X-Line-Signature']# get request body as textbody = request.get_data(as_text=True)app.logger.info("Request body: " + body)# parse webhook bodytry:events = parser.parse(body, signature)except InvalidSignatureError:abort(400)# if event is MessageEvent and message is TextMessage, then echo textfor event in events:if not isinstance(event, MessageEvent):continueif isinstance(event.message, TextMessage):handle_TextMessage(event)if isinstance(event.message, ImageMessage):handle_ImageMessage(event)if isinstance(event.message, LocationMessage):handle_LocationMessage(event)if isinstance(event.message, VideoMessage):handle_VideoMessage(event)if isinstance(event.message, FileMessage):handle_FileMessage(event)if isinstance(event.message, StickerMessage):handle_StickerMessage(event)if not isinstance(event, MessageEvent):continueif not isinstance(event.message, TextMessage):continuereturn 'OK'# Handler function for Text Message def handle_TextMessage(event):print(event.message.text)msg = 'Do you want to know the latest news about the disease?'line_bot_api.reply_message(event.reply_token,TextSendMessage(msg))# Handler function for Sticker Message def handle_StickerMessage(event):print(event.message.sticker_id)msg = 'That is an interesting Sticker.'line_bot_api.reply_message(event.reply_token,TextSendMessage(msg))# Handler function for Image Message def handle_ImageMessage(event):line_bot_api.reply_message(event.reply_token,TextSendMessage(text="This photo has been stored successfully"))# Handler function for Location Message def handle_LocationMessage(event):line_bot_api.reply_message(event.reply_token,TextSendMessage(text="I am sure your community does not have infected person."))# Handler function for Video Message def handle_VideoMessage(event):line_bot_api.reply_message(event.reply_token,TextSendMessage(text="Nice video!"))# Handler function for File Message def handle_FileMessage(event):line_bot_api.reply_message(event.reply_token,TextSendMessage(text="Nice file!"))if __name__ == "__main__":arg_parser = ArgumentParser(usage='Usage: python ' + __file__ + ' [--port <port>] [--help]')arg_parser.add_argument('-d', '--debug', default=False, help='debug')options = arg_parser.parse_args()app.run(host='0.0.0.0', debug=options.debug, port=heroku_port)

具體完整項(xiàng)目請(qǐng)?jiān)L問我的github:wcc8090

總結(jié)

以上是生活随笔為你收集整理的LINE chatbot机器人开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。