iT邦幫忙

0

line bot如何使用APScheduler定時推播

  • 分享至 

  • xImage

因為是程式初心者,有很多不太了解的地方,想請問line機器人推播的問題
主要想製作2小時一次的推播關鍵字回覆的line機器人。

而推播及回覆的文字想以3~5個字串隨機發送,目前僅寫了隨機回覆部分,但在line bot上沒有效果,想請問要怎麼修改呢?
程式碼如下,是參考https://badgameshow.com/steven/line/line-bot-%E6%95%99%E5%AD%B8/

import re
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    message = event.message.text
    if message == "你是誰":
        message = TextSendMessage(
            text = "才不告訴你勒~~"
        )
        line_bot_api.reply_message(event.reply_token,message)
    elif message == "測試":
        message = TextSendMessage(
            text = DrawStraws()
        )
        line_bot_api.reply_message(event.reply_token,message)   
    else:
       line_bot_api.reply_message(event.reply_token,TextSendMessage(message))

def DrawStraws():
    DrawStrawsList = ["A", "B", "C", "D", "E"]
    return DrawStrawsList[random.Randint(0, len(DrawStrawsList) - 1)]

以及使用APScheduler定時
參考https://suyenting.github.io/post/linebot-ceb102-class-helper-heroku/
建立了clock.py 但不太了解推播的部分要如何定時

from apscheduler.schedulers.blocking import BlockingScheduler
import requests

sched = BlockingScheduler()

# 防止睡眠
def DoNotSleep():
    url = "https://xxxxx.herokuapp.com/"
    r = requests.get(url)

# 防止自動休眠
sched.add_job(DoNotSleep, trigger='interval', id='doNotSleeps_job', minutes=20)

sched.start()

希望能有大大解答><!

deh iT邦研究生 1 級 ‧ 2022-01-10 10:22:15 檢舉
https://i.imgur.com/w122nXl.png
應為random.randint
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答