- bot 註冊(將資訊存入DB 並每日抓取發送)
- 發送每日收盤資訊(個股收盤價、三大法人買賣超、三大法人個股買賣超)
- 每日ROLEX錶店價格整理
-
根據不同USER 發送不同追蹤的股票資訊
- /start 開始訂閱機器人(會收到訊息)
- /end 取消訂閱機器人
pip install python-telegram-bot --upgrade pip install configparser pip install dataframe-image pip install tabulate pip install tabulate pip install prettytable pip install pyTelegramBotAPI pip install fredapi
[DEFAULT] TOKEN = YOUR BOT TOKEN DATABASE = YOUR BOT DATABASE USER = YOUR BOT USER PASSWORD = YOUR BOT PASSWORD PORT = YOUR BOT PORT FRED_API_KEY=YOUR FRED API KEY 自己去fred網站辦帳號拿KEY
token改為這樣取 然後heroku要設定 Settings -> Config Vars -> 新增一個key = TOKEN ,value = 你的TOKEN 填寫自己bot的TOKEN
heroku上面的是使用SSL連線 不需要那麼多資訊 只要Heroku上面的url就行(因為在同一包內)
token = os.environ['TOKEN']
databaseUrl = os.environ['DATABASE_URL']
heroku Scheduled 是使用UTC時間 記得要轉換
| fileName | Schedule說明 | 執行時間 |
|---|---|---|
| sendStockDayPrice.py | 個股收盤價 | 每天14:00 |
| sendThree.py | 三大法人買賣超 | 每天15:00 |
| sendStockBuySell.py | 三大法人個股買賣超 | 每天16:30 |
| sendYfinance.py | 美股三大指數收盤 | 每天08:30 |
| sendUsaStock.py | 美股個股收盤 | 每天08:30 |
| sendCrypto.py | 加密貨幣價格 | 每天08:30 |
在裡面看到可以使用這種方法攔截接收訊息 就不用再做一個webhook了
@bot.message_handler(commands=['start'])
INSERT INTO public.follow_stock(user_id,stock_code) VALUES (1, '2330'), (1, '2377'), (1, '2308'), (1, '2382'), (1, '2886'), (1, '2603'), (1, '2609'), (1, '2606'), (1, '2615'); ); INSERT INTO public.system_parameter(name,value,update_on) VALUES ('LAST_FRED_SEND_DATE', '0', now()) ,('LAST_US_MARKET_SEND_DATE', '0', now()) ,('LAST_US_STOCK_SEND_DATE', '0', now()) ,('LAST_CRYPTO_SEND_DATE', '0', now()) update system_parameter set value = '0' where name = 'LAST_CRYPTO_SEND_DATE'; update system_parameter set value = '0' where name = 'LAST_US_MARKET_SEND_DATE'; update accounts set telegram_push_crypto_enabled = true where telegram_push_enabled = true;
- 有時三大法人資料會延遲 導致沒抓到資料 預計解法為 各個排成都要有一個當日有無發送成功的紀錄(未成功就要一直發) 問題為不想一直跑排程
- 根據個人去區分follow_stock