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

Как сделать задержку сообщения Telegram Бот?

Я еще совсем новичок в этой области. Я типо системный администратор и просто дурачок.
Решил сделать бота для авто-приема заявочек. Подскажите как сделать, чтобы он принимал сразу, а отправлял сообщение спустя 24 часа.

import logging
import os
import sys

from aiogram import Bot, Dispatcher, executor, types 
from aiogram import Bot, types
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton
#Создание бота 
bot = Bot(token='тут токен бота')
dp = Dispatcher(bot)
dp.middleware.setup(LoggingMiddleware())
#сообщения
@dp.chat_join_request_handler()
async def join_request(update: types.ChatJoinRequest):
    user_id=update.from_user.id
#вот тут по идее он пишет
    but_markup = InlineKeyboardMarkup(row_width=1)
    but_sbor = InlineKeyboardButton(text=' Каталог ', url='https://t.me/')
    but = InlineKeyboardButton(text=' Наш сайт ', url='https://t.me/')
    but_markup.add(but_sbor,but)
    await bot.send_message(user_id, 'В жопе ', reply_markup=but_markup)
    #тут можно добавить пользователя в бд для дальнейших рассылок
#вроде тут прием)
    await update.approve() #.decline() если отклоняем
    
try:
    # Запуск бота
    if __name__ == '__main__':
        executor.start_polling(dp)
except:
    print('Ошибка запуска бота!')


Также, если кто подскажет, я так и не понял как создать БД и записывать туда ID для последующей рассылки командой /send (планы)


UPD:
Чтобы при этом не возникло:

Ю - юзер
Ю1 - подает заявку
*прошло 5 секунд*
Ю2 - Подает заявку
*Прошло 23 часа 59 минут 45 секунд*
Ю1 - ничего не получает
Ю2 - Получает сообщение
  • Вопрос задан
  • 944 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
quadboii
@quadboii
Если прям просто, юзни это:
import time

time.sleep(время в секундах)
Ответ написан
ZERGeich
@ZERGeich
Читать и изучать как всё-таки работать с базой данных.
Записывать сообщения в базу с таймкодом.
Периодически пробегать по базе в поисках актуальных сообщений.
Отправлять подходящее сообщение и удалять его из базы.
GoTo 1
Ответ написан
Ваш ответ на вопрос

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

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