顯示具有 Chatbot 標籤的文章。 顯示所有文章
顯示具有 Chatbot 標籤的文章。 顯示所有文章

telegram chatbot on heroku 建構 telegram 聊天機器人

Telegram chatbot on heroku 建構 telegram 聊天機器人

學校期末專題要寫telegram的聊天機器人(一堆專題 :cry: )

摸了一下telegram並記錄下來

申請上比messenger簡單許多,只要跟bot father 講講話就申請完了

chatbot需要放在server上跑,而我選擇heroku

以下範例code deploy在heroku上 可以echo使用者的回應

範例code

bot.py

記得填上自己的token 跟 server的url

import telebot import os from flask import Flask, request bot = telebot.TeleBot('your access token') server = Flask(__name__) @bot.message_handler(commands=['start']) def start(message): bot.reply_to(message, 'Hello, ' + message.from_user.first_name) @bot.message_handler(func=lambda message: True, content_types=['text']) def echo_message(message): bot.send_message(message.from_user.id, message.text) @server.route("/", methods=['POST']) def getMessage(): bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))]) return "!", 200 @server.route("/") def webhook(): bot.remove_webhook() bot.set_webhook(url="your heroku application url") return "!", 200 server.run(host="0.0.0.0", port=os.environ.get('PORT', 5000)) server = Flask(__name__)

requirements.txt

pyTelegramBotAPI==2.1.5 requests==2.7.0 telebot==0.0.3 logger==1.4 flask==0.11

Procfile

web: python bot.py

將這三個檔案deploy到heroku上即可

張書維 張書維 Author

在 Messenger平台寫聊天機器人Chatbot on Heroku

因為大學專題需要,開始試著寫Chatbot,以下就是慢慢紀錄的開發歷程

1.在facebook Developer 創App 與創粉專

2.寫 code

3.把App deploy 到各大雲端平台

4.設定回呼網址為雲端平台上的app,設定Token

5.測試是否能對話


一開始的流程很簡單就可以爬文爬到,比較麻煩的是編輯 page 的回呼網址,

必須先把app放到雲端平台(Heroku  Azure  等等) ,然後 Copy App 的網址,這裡的驗證才會過關

我是採用Heroku    https://www.heroku.com/ ,它有很方便的功能,可以與Github做連接,只要與Chatbot的專案做Connenct,就可以與Github同步,Heroku 的免費流量應該足以讓小專案生存,但Heroku的server 在沒人呼叫它超過30分,會休眠就是了。

如果不想讓Heroku休眠,可以嘗試使用 Uptime Robot
它可以在固定時間內發送訊息給伺服器,讓伺服器不休眠,而且服務是免費的,
不過會不會讓Heroku流量爆掉就難說了...

張書維 張書維 Author

總網頁瀏覽量

Categories

Popular Posts