我在使用job_队列和在我的电报机器人中运行每日消息时遇到问题。我已经阅读并尝试了在stack overflow和online中找到的每一个答案,但不知何故什么都不起作用,我也不知道出了什么问题。 我想每天发送一条消息,但只能在/start命令之后发送,并且我想用/stop命令关闭bot和预定的消息。我使用的是13.5版。以下是目前的代码:
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 ###")
我现在得到的是:
AttributeError: 'Bot' object has no attribute 'run_daily'
我还尝试了Stackoveflow中的许多其他方法,很多方法我都记不起来了,不知何故,每个答案都显示了运行计划消息的不同方法(目前甚至没有一种方法有效)
我做错了什么
目前没有回答
相关问题 更多 >
编程相关推荐