Задать вопрос
@P4R4D1S3

Как создать фоновую задачу в боте?

Написал простенького бота на python с aiogram==2.25.1, в моей тестовой бд находится колонка test_value со значением 0 . Я хочу сделать так, чтобы в фоновом процессе бота был обработчик на изменение значения test_value. То есть, пока он 0 - ничего не происходит, но если я поменяю значение на 1, то бот сразу отправит мне сообщение. Как мне такое реализовать, с учетом того, что я кроме async def, await и asyncio.sleep в асинхроне ничего не понимаю?
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 4
Lord_of_Rings
@Lord_of_Rings
Дунадан - северный странник. Злой, но очень добрый
aiogram==2.25.1

Сколько раз твердили миру... Да не используйте вы 2.x! В 21 веке все уже перешли на 3.x

Как мне такое реализовать, с учетом того, что я <...> в асинхроне ничего не понимаю?

Так может надо что-то понять? Почитать, поразбираться, для начала?

Вывод: готовый код никто за вас писать не будет. Изучайте сначала программирование и базовые основы, а потом рвитесь в бой. Тем более, если это ваша "хотелка" и она не к спеху
Ответ написан
Wispik
@Wispik
Для фоновых задач, используют aioschedule. Как это интегрировать в aiogram гуглится легко
Но по идее, тут фоновая задача вообще не нужна, просто в момент
но если я поменяю значение на 1
отправлять сообщение
Ну а с учетом
в асинхроне ничего не понимаю
ответ близится к никак
Ответ написан
Vindicar
@Vindicar
RTFM!
Присоединюсь к советам выше.
А вообще глянь мой пример, он должен работать для любой версии.
Ответ написан
Комментировать
@glu-dimaz
Попробуй flask, прост в интеграции и не надо ничего выдумывать. задал адрес запроса для бота - с сайта или откуда угодно делаешь запрос к нему, и он выполняет команду, которая заложена по адресу

from flask import Flask, request, jsonify
app = Flask(__name__)

@app.route('/free/link')
def free_forLink():
#обработка запроса при обращении по адресу бота /free/link

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)


так же в get запросах - можно передавть любые параметры
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы