Ботостроение Telegram. Apscheduler - отправляем сообщения по расписанию. Aiogram полное руководство.

preview_player
Показать описание
📘 Очень часто возникает необходимость запускать функции в определенное либо спустя какое-то время. Для этого можно и даже нужно использовать apscheduler. И в сегодняшнем видео речь пойдет именно об этом.

Aiogram - это мощный, но в тоже время простой инструмент для создания телеграм ботов. В этой серии видеоуроков я познакомлю тебя с его функционалом и в конце изучения для закрепления навыков мы напишем телеграм бота. Обязательно подпишись на канал, поставь лайк этому видео и выскажи свое мнение об этом видео в комментариях. Активируй колокол, чтобы не пропустить ни одного видео, которое со 100% вероятностью поможет тебе в изучении ботостроения!

🎯 Обязательно ознакомься с моими курсами, в которых мы с учениками работаем достаточно тесным, можно сказать, "семейным" составом.
Мы прокачаем твой скилл с "я ничего не понимаю в python" до "я умею писать шустрых, легких и стабильных телеграм ботов".
Никакой воды и видео по 40, а то и больше минут - только сжатая, сконцентрированная выжимка практики. Моя задача - дать вам продвинутые навыки простыми словами, которые сделают вас на голову выше всех остальных и уменьшить ваши времязатраты на разработку своих проектов или клиентских.

📢 Внимание!
Эти пакеты были перемещены, вы должны исправить импорт в вашем коде, если вы используете версию 3.0.0b4 и выше:

Рекомендации по теме
Комментарии
Автор

а Apscheduler можно использовать в больших высоконагруженных ботах где у каждого пользователя будет по 20-30 таких задач которые выполнятся будут в течении 1-30 дней. и не пропадут ли они при перезагрузке бота ?

RunBull
Автор

Спасибо большое за урок! Решил свою задачу благодаря видео, а главное - *всё понял* .

rible
Автор

Отличные примеры, все мои задачи были решены этим видео роликом, желаю процветания этому каналу. Автор красавчик))❤

cmrad_eth
Автор

чётко и по делу без воды. вот прям поклон в ноги, лайк и подписка за такие видео

Corn
Автор

Здравствуйте, у меня при вызове /form уже в боте, в скрипте ошибка вылазит:
TypeError: got multiple values for argument 'handler'
А вот код:
class
def __init__(self, scheduler: AsyncIOScheduler):
self.scheduler = scheduler

async def __call__(
self,
handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
event: TelegramObject,
data: Dict[str, Any]
) -> Any:
data['apscheduler'] = self.scheduler
return await handler(event, data)
И в чем проблема что он несколько принимает аргументов ?

storm
Автор

Здравствуйте, почему у меня не получается импортировать apsched из core.handlers? - Выдает ошибку

imjbvbe
Автор

честно, мы как будто с Вами разные библиотеки используем. В документации и тут одно, а в проекте ничего не работает

meljnichenko
Автор

А как использовать такую отправку сообщений вместе с sqlalchemy datastore? Не могу реализовать, потому что объект Bot - unpickleable и соответсвенно аргументы не могут записаться в бд

vython_vv
Автор

Вопрос для ленивых, а не проще ли после заполнения FSM формы просто использовать async.sleep(time) чтобы была задержка, а не через мидлвар?))

Chelk
Автор

напиши, какую версию Apscheduler испоьзовал. Работает только interval

SoTer
Автор

1:11 - ты прописываешь токен бота? я прописываю свой и выдает ошибка, что chat_id является обязательным аргументом и тп, что я только не перепробовал уже, менял и тп, не работает.

igorproweb
Автор

Разве это мидлварь наложидся не на все апдейты? Или где эта связь с файлом нашего апшедулера

iii
Автор

спасибо за урок!)
подвис на моменте с 'from core.handlers import apsched', не удалось найти библиотеку из которой это импортируется, библиотек 'core' много всяких.. что за библиотека?)
пс. интернет мне в этом не помог, по этому и пишу

jussimpudence
Автор

а есть ли бот для ограничения написания количества сообщений в группе?

wnhukoq
Автор

Так рабочий вариант, вот только столкнулся с одним не понятным поведением.
При добавлении таски с триггером на дату, в приложении запущенном в контейнере они отказываются отправляется, при этом если вот запустить как автор показал (локально) то все работает. Не нашёл решение.

HEKPACOFF
Автор

Скажите пожалуйста, а зачем нужен мидлварь, если можно прокидывать apscheduler сразу в диспетчер: dp =

denys_solom
Автор

Этот шедулер можно стартовать сразу после его создания, а таски добавлять уже потом?

xjpfxei
Автор

Доброй ночи и большое спасибо за великолепный урок. Подскажите, пожалуйста, в этой библиотеке есть какой-нибудь метод, который выполнит после включения бота все таски, который не выполнились из-за того, что он был выключен в момент их выполнения?

maxshine-qfqg
Автор

Можно ли как-то параллельно отправлять считанные в определенный день сообщения, на примере:
Админ отправляет фотографию, и настраивает рассылку таким образом, чтобы она выполнялась 31 день каждые 12 часов, рассылка пошла, но через 5 дней он решил, что ещё нужно рассылать видео 31 день каждые 6 часов;
Вот можно ли это как-то реализовать?

oodcdyp
Автор

Подскажите, пожалуйста, а возможно ли сделать так, чтобы оповещения от бота приходили пользователю в выбранное им время? Допустим, вначале ьы спрашиваешь время (с помощью кнопок), человек выбирает, и определенное сообщение приходит в то время, которое выбрал человек? И в любое время он может поменять настройки оповещения, выбрать другое время и теперь вместо прошлого, будет выдаваться сообщение в другое время. Если это возможно, то как это можно сделать?

krissh