@bybacapitan

Как сделать такую кнопку?

Как сделать такую кнопку ?
628a0b5f4d150668656163.png
Еще в ней идет подсчет сколько человек нажало.
Ипользую библиотеку aiogram.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@amirchik_98
Продюсер, Битмарь, web-программист, учу питон
сори за такой грязный код может тебе пригодиться когда нажимаем на кнопку инлайн появляется иконка измени цикл внутри цикла для подсчета
for s in selected:
        buttons[s][1] = "  ✅"
    if removed:
        buttons[removed][1] = ""


А вот полный код
def send_options(selected=[],removed=False):
    buttons={
        "Cars": ["Автомобили", ""],
        "Motorcycles": ["Мотоциклы", ""],
        "Jogging": ["Пробежки", ""],
        "Martial arts": ["Боевые искусства", ""],
        "Cycling": ["Велотренировки", ""],
        "Basketball": ["Баскетбол", ""],
        "Yoga": ["Йога", ""],
        "Football": ["Футбол", ""],
        "Volleyball": ["Волейбол", ""],
        "Tennis": ["Теннис", ""],
        "Rock climbing": ["Скалолазание", ""],
        "Swimming": ["Плавание", ""],
        "Paintball": ["Пейнтбол", ""],
        "Bowling": ["Боуллинг", ""],
        "Floriculture": ["Цветоводство", ""],
        "Pets ": ["Домашние животные", ""],
        "Trekking / Hiking": ["Поход/ Хайкинг", ""],
        "Fishing": ["Рыбалка", ""],
        "Horseback riding": ["Верховая езда", ""],
        "Programming": ["Программирование", ""],
        "Chess": ["Шахматы", ""],
        "Checkers": ["Шашки", ""],
        "Other mind games": ["Другие интеллектуальные игры", ""],
        "Computer games": ["Компьютерные игры", ""],
        "Playing musical instruments": ["Игры на музыкальных инструментах", ""],
        "Fashion": ["Мода", ""],
        "Interior Design": ["Дизайн интерьера", ""],
        "Architecture": ["Архитектура", ""],
        "Movie": ["Кино", ""],
        "Theater": ["Театр", ""],
        "Dancing": ["Танцы", ""],
        "Singing": ["Пение", ""],
        "Drawing": ["Рисование", ""],
        "Reading": ["Чтение", ""],
        "Cooking": ["Кулинария", ""],
        "Restaurants": ["Рестораны", ""],
        "Other": ["Другое", ""]
    }
    for s in selected:
        buttons[s][1] = "  ✅"
    if removed:
        buttons[removed][1] = ""

    otvet = types.InlineKeyboardMarkup(row_width=2)
    for b in buttons.keys():
        tempB = types.InlineKeyboardButton(buttons[b][0]+buttons[b][1], callback_data=b)
        otvet.add(tempB)
    return otvet


SELECTED = []


def process_phone_step(message):
    try:
        otvet = send_options()
        #keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
        #keyboard.row('Далее')
        bot.send_message(message.chat.id, "Какой культурный досуг Вы предпочитаете?", reply_markup=otvet )
        keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
        keyboard.row('Далее')
        msg = bot.send_message(message.chat.id, "Выберете из списка ", reply_markup=keyboard)
        bot.register_next_step_handler(msg, process_departament_step)

    except Exception as e:
        bot.reply_to(message, 'oooops')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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