@maksotkasotka

Как сделать ограничение на количество нажатий кнопки telebot?

Нужно чтобы при нажатии на кнопку сообщение пользователя пересылалось в канал (aka барахолка в которой бот служит предложкой)

И нужно сделать кд (задержку) при нажатии на кнопку (чтобы не зафлудили канал обьявлениями)

То есть, чтобы при нажатии на кнопку бот проверял сколько времени прошло с последнего нажатия на эту кнопку, если прошло 3 часа - отправлял сообщение в канал если нет - изменял сообщение, и говорил о том, что 3 часа не прошло тексты сообщений и изменение сообщений есть в коде, не могу понять как сделать проверку прошедшего времени с последнего нажатия

Если что в этом деле я профан, почти доделал бота по видеоурокам, но тут застрял
Нужный отрывок кода
@bot.message_handler(content_types=['text', 'photo'], func=lambda message: True)
def get_user_photo(message):
    dodo = types.InlineKeyboardMarkup(row_width=1)
    vovo = types.InlineKeyboardButton('Опубликовать', callback_data='otpravil')

    dodo.add(vovo)
    bot.reply_to(message, 'Ваше обьявление: \nДля публикации нажмите на кнопку', reply_markup=dodo)


@bot.callback_query_handler(func=lambda call:True)
def otpravka_v_chat(call):
    if call.message:
        if call.data == 'otpravil':
            if
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Ваше обьявление в скором времени будет опубликовано!')
            elif
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='С момента последней публикации еще не прошло 3 часа!')
  • Вопрос задан
  • 302 просмотра
Пригласить эксперта
Ответы на вопрос 1
@apiwi
Как вариант сделать словарь и по нему проверять
message_list = []
message_list.append({"user_id": message.chat.id, "last_pressed_time":datetime.now(), "pressed_count": 1})
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы