簡介
price-tracker-bot is a telegram bot that can trace the price on momoshop.
功能
Demo Bot
Telegram bot search @momo_price_tracker_bot
環境建置
database
- PostgreSQL 10
執行 sqls folder底下放置的SQL file,或者可以自行使用其他db migration 工具
環境變數
環境變數 | 說明 |
---|---|
DB_HOST | Database host |
DB_NAME | Database name |
DB_USER | Database user |
DB_PASSWORD | Database user's password |
BOT_TOKEN | Telegram bot token |
WEBHOOK_URL(Optional) | If you use Heroku url like this https://{AppName}.herokuapp.com |
PERIOD_HOUR | Resync latest good's price time period |
TELEGRAM_BOT_MODE | default: polling, [polling,webhook] |
Telegram bot
加入 telegram botfather並建立一個機器人,取得 token,後續須設定環境變數 BOT_TOKEN
Bot 接收訊息方式
設定環境變數 TELEGRAM_BOT_MODE
- polling 測試使用上方便,不需要對外網址,效能上較webhook差
- webhook 如果要在local 測試 webhook,可使用 ngrok
heroku
如果是使用免費方案,服務太久沒有收到request,就會被暫時關閉,如果要長時間維持服務,需要定時發送一些request保持服務運作。 Scheduler新增curl --location --request GET 'https://{AppName}.herokuapp.com'
,把AppName替換成Heroku上建立的application name
deploy
Heroku git deploy
執行方式
python3 App.py
Build simple local postgres env (optional)
docker run -d -p 5432:5432 --name mypostgres --restart always -v postgresql-data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=1234 -d postgres:10.17-alpine3.14
機器人指令
對話輸入momo商品網址可直接加入追蹤
- /start 顯示目前所支援的指令
- /my 顯示目前所有追蹤物品清單,以及當下所記錄價格
- /clear 清除目前所有追蹤物品清單