@zigzager228

Учусь писать бота на питоне, как отправлять кнопки без текста и почему не пропадает кружок)?

Почему, после нажатия на кнопку этот чертовый крожочек не пропадает так долго? :С5e4da69807ded717350520.png
Также, как отправлять только кнопки без текста. Их можно отправлять только методом sendMessage?
Ну и вообще просто оцените код, может что-то не так делаю. Жду вашу критику :)
p.s насчет названия кнопок и ответов, с кем не бывает))0
import telebot

bot = telebot.TeleBot('token')


from telebot import types

  
# Метод, который получает сообщения и обрабатывает их

@bot.message_handler(content_types=['text'])

def get_text_messages(message):


    if message.text == "Секрет":

        # Готовим кнопки

        keyboard = types.InlineKeyboardMarkup()

        # По очереди готовим текст и обработчик для каждой

        key_osel = types.InlineKeyboardButton(text='Ты осел', callback_data='osel')

        # И добавляем кнопку на экран

        keyboard.add(key_osel)

        key_dyra = types.InlineKeyboardButton(text='Ты дура', callback_data='dyra')

        keyboard.add(key_dyra)

        key_rak = types.InlineKeyboardButton(text='Ты рачина', callback_data='rak')

        keyboard.add(key_rak)

        key_lev = types.InlineKeyboardButton(text='Я ливица', callback_data='lev')

        keyboard.add(key_lev)

        # Показываем все кнопки сразу и пишем сообщение о выборе

        bot.send_message(message.from_user.id, "Да ты, я смотрю, хакером станешь, да?", reply_markup=keyboard)

    elif message.text == "/start":
        keyboard = types.InlineKeyboardMarkup()
        key_st = types.InlineKeyboardButton(text='Ты дура', callback_data='st')
        keyboard.add(key_st)

        bot.send_message(message.from_user.id, "Просто, шобы понять как работает, тут сейчас появится кнопка.\n Или нет, хз", reply_markup=keyboard)

    elif message.text == "/help":

        bot.send_message(message.from_user.id, "Пока тут ничего нет(пиздит)")

    else:

        bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")

@bot.callback_query_handler(func=lambda call: True)

def callback_worker(call):

    # Если нажали на одну из 12 кнопок — выводим гороскоп

    if call.data == "lev":

        # Формируем гороскоп
        msg = 'Да ты тигрица, я бы сказал'

        # Отправляем текст в Телеграм

        bot.send_message(call.message.chat.id, msg)

    elif call.data == "osel":
    
        msg = "Кто еще осел"

        bot.send_message(call.message.chat.id, msg)

    elif call.data == "dyra":
    
        msg = "Сам дура"

        bot.send_message(call.message.chat.id, msg)
    elif call.data == "rak":
    
        msg = "Сам ты рак"

        bot.send_message(call.message.chat.id, msg)
    elif call.data == "st":

        msg = 'Аа, оказывается я не могу вызвать те же кнопки, потому что они создаются внутри цыкла "если.. то" А ' \
              'это значит что мне нужно либо делать кнопки еще раз, либо засунутуть кнопки в какой-то блок, и вызывать ' \
              'тут его еще раз, но я пока не уверен что это возможно '

        bot.send_message(call.message.chat.id, msg)

# Запускаем постоянный опрос бота в Телеграме

bot.polling(none_stop=True, interval=2)
  • Вопрос задан
  • 420 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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