|
Теги. bot теги. Бот создан, настроен, но как его запустить Если сейчас мы перейдём в нашего бота и запустим его, то мы получим Ничего мы и не получим, т к. мы только создали бота
Максимальная длинна строки 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 .
|
|
|