Всем привет. задача такова, необходимо что бы в указанное время и интервал бот публиковал сообщение, создал отдельный файл apsched.py в нем указал необходимые ас.функции., в файле main сам алгоритм при команде старт (т.е. запуске бота).
Запускается все без ошибок, но потом, через несколько секунд, в момент выполнения первой функции возникает ошибка в файле apsched.py :
await bot.send_message(chat_id=message.from_user.id,
text='это сообщение через несколько сек после запуска бота')
ошибка:
await bot.send_message(chat_id=message.from_user.id,
^^^^^^^
NameError: name 'message' is not defined
как я понял, что типа ему нужен хендлер. но мне то он не нужен, пользователь ничего не должен писать. Что туда надо впихнуть, что бы он не кричал на меня?
это файл apsched.py
from aiogram import Bot
async def send_message_time(bot: Bot):
await bot.send_message(chat_id=message.from_user.id,
text='это сообщение через несколько сек после запуска бота')
async def send_message_cron(bot: Bot):
await bot.send_message(chat_id=message.from_user.id,
text='Это сообщение будет отправляться каждый день')
async def send_message_interval(bot: Bot):
await bot.send_message(chat_id=message.from_user.id,
text='Это сообщение будет оптравляться с интервалом в 1 минуту')
main.py - файл
@dp.message_handler(commands=['start'])
async def command_start(message: types.Message):
await bot.send_message(chat_id=message.from_user.id,
text='Добро пожаловать!',
reply_markup=kb)
await message.delete()
scheduler = AsyncIOScheduler(timezone='Europe/Moscow')
scheduler.add_job(apsched.send_message_time, trigger='date', run_date=datetime.now() + timedelta(seconds=10),
kwargs={'bot': bot})
scheduler.add_job(apsched.send_message_cron, trigger='cron', hour=datetime.now().hour,
minute=datetime.now().minute + 1, start_date=datetime.now(),
kwargs={'bot': bot})
scheduler.add_job(apsched.send_message_interval, trigger='interval', seconds=60, kwargs={'bot': bot})
scheduler.start()