Главная страница
Навигация по странице:

  • inlinekeyboard

  • Эти кнопки работают только в

  • Теги. bot теги. Бот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота


    Скачать 1.86 Mb.
    НазваниеБот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота
    Дата22.10.2022
    Размер1.86 Mb.
    Формат файлаodt
    Имя файлаbot теги.odt
    ТипДокументы
    #747707
    страница16 из 27
    1   ...   12   13   14   15   16   17   18   19   ...   27

    Максимальная длинна строки replykeyboard


    Максимальное количество кнопок в строке - 12, если вы превысите это количество - получите ошибку:




    Максимальная длинна строки inlinekeyboard
    Максимальное количество кнопок в строке - 9:



    ➕ inlinekeyboard


    Создайте такую же клавиатуру inlinekeyboard:




    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Специальные кнопки


    Иногда ботам нужно получить номер телефона или локацию пользователя. Телеграм позволяет это сделать с помощью специальных кнопок. Эти кнопки работают только в replykeyboard!

    Для создания таких кнопок нужно указать параметры request_location или request_contact со значением True.

    Например:

    import telebot from telebot import types bot = telebot.TeleBot('token') @bot.message_handler(commands=['start']) def start(message): kb = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) btn1 = types.KeyboardButton(text="Запрос телефона 📞", request_contact=True) btn2 = types.KeyboardButton(text="Запрос геолокации 🌎", request_location=True) kb.add(btn1, btn2) bot.send_message(message.chat.id, "Привет", reply_markup=kb) @bot.message_handler(content_types=['contact']) def get_phone_number(message): #Проверка это телефон пользователя, который отправил его, или нет if message.contact.user_id == message.from_user.id: bot.send_message(message.chat.id, message.contact.phone_number) else: bot.send_message(message.chat.id, "Это не ваш номер телефона!") @bot.message_handler(content_types=['location']) def get_location(message): bot.send_message(message.chat.id, message.location) bot.polling()

     

    При нажатии на кнопку отправки номера телефона сервер вернёт объект Message с непустым свойством contact, а при нажатии на кнопку отправки геолокации – с непустым свойством location. Для получения телефона или геолокации используем старые добрые хендлеры, с соответствующим типом сообщения.

    Для получения долготы и широты можно использовать message.location.latitude и message.location.longitude, а для получения номера - message.contact.phone_number.
    1   ...   12   13   14   15   16   17   18   19   ...   27


    написать администратору сайта