В общем, хотелось бы избежать ненужной писанины. Вы можете заметить, что я проверяю наличие нужного мне типа сообщения в огромном списке.
import telebot
from telebot import types
bot = telebot.TeleBot("токен")
CONTENT_TYPES = ["text", "audio", "document", "photo", "sticker", "video", "video_note", "voice", "location", "contact",
"new_chat_members", "left_chat_member", "new_chat_title", "new_chat_photo", "delete_chat_photo",
"group_chat_created", "supergroup_chat_created", "channel_chat_created", "migrate_to_chat_id",
"migrate_from_chat_id", "pinned_message"]
@bot.message_handler(commands=["takenumber"])
def get_phone(message):
keyboard = types.ReplyKeyboardMarkup(row_width=1,
resize_keyboard=True) # подключаем клавиатуру через дополнение types
button_phone = types.KeyboardButton(text="send_phone", request_contact=True) # указываем название кнопки
keyboard.add(button_phone) # добавляем кнопку
bot.send_message(message.chat.id, "Вы можете оправить номер нажав на кнопку send_phone", reply_markup=keyboard)
@bot.message_handler(content_types=CONTENT_TYPES)
def confirming(message):
if message.content_type == "contact":
keyboard = types.ReplyKeyboardRemove()
bot.send_message(message.chat.id, "Мы получили ваш номер.", reply_markup=keyboard)
else:
keyboard = types.ReplyKeyboardRemove()
bot.send_message(message.chat.id, "Номер не был отправлен.", reply_markup=keyboard)
print("Начали")
bot.polling() # запуск бота
P.S. Буду также благодарен, если подскажете как отредактировать текст на этом сайте, чтобы его проще было читать. (Чтобы со всеми выделениями цвета и пр.)