如何每天在电报机器人中正确发送消息?

时间:2021-05-30 18:15:26

标签: python telegram-bot

我在使用 job_queue 时遇到问题,并在我的电报机器人中运行每日消息。我已经阅读并尝试了我在堆栈溢出和在线中找到的每个答案,但不知何故没有任何作用,我不知道出了什么问题。 我想每天发送一条消息,但只能在 /start 命令之后,我想使用 /stop 命令关闭机器人和计划的消息。我使用的是 13.5 版。这是目前的代码:

/Users/rezaulhasan/Computer/Dev/odoo/odoo/customaddons

我现在得到的是:

import logging, os, random, sys, random, datetime
from telegram import ParseMode, Update
from telegram.ext import Updater, CommandHandler, CallbackContext

...

def callback_daily(context: CallbackContext):
    context.bot.send_message(
        text="DAILY TEXT",
        parse_mode=ParseMode.HTML
    )

def start_handler(update: Update, context: CallbackContext):   

    context.bot.run_daily(callback_daily, 
        days=(0,1,2,3,4,5,6),
        time=datetime.time(hour=20, minute=00, tzinfo=pytz.timezone("Europe/Rome")),
        context=update.message.chat_id
    )
    
    update.message.reply_text(
        "STARTED"
    )


if __name__ == '__main__':

    logger.info("### Starting Bot ###")

    updater = Updater(TOKEN, use_context=True)

    updater.dispatcher.add_error_handler(CommandHandler("error", error_handler))
    updater.dispatcher.add_handler(CommandHandler("start", start_handler, pass_job_queue=True))
    updater.dispatcher.add_handler(CommandHandler("help", help_handler))
    
    ...

    run(updater)
    logger.info("### Bot Started ###")

我还尝试了在 Stackoveflow 中找到的许多其他东西,太多了,我什至不记得它们了,不知何故,每个答案都显示了一种不同的方法来运行预定消息(目前甚至没有一个有效)。< /p>

我在这里做错了什么?

0 个答案:

没有答案