Вот пример скрипта на Python для Telegram-бота, который запрашивает номер телефона у пользователя. Для реализации потребуется библиотека python-telegram-bot, которую можно установить через команду:
pip install python-telegram-bot
Скрипт
from telegram import Update, KeyboardButton, ReplyKeyboardMarkup
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
# Функция для обработки команды /start
def start(update: Update, context: CallbackContext) -> None:
# Создаем кнопку для запроса номера телефона
button = KeyboardButton("Отправить номер телефона", request_contact=True)
# Создаем клавиатуру с этой кнопкой
keyboard = ReplyKeyboardMarkup([[button]], resize_keyboard=True, one_time_keyboard=True)
# Отправляем сообщение пользователю
update.message.reply_text(
"Здравствуйте! Пожалуйста, отправьте ваш номер телефона, нажав на кнопку ниже.",
reply_markup=keyboard,
)
# Функция для обработки контактов
def contact_handler(update: Update, context: CallbackContext) -> None:
# Получаем контакт пользователя
contact = update.message.contact
if contact:
phone_number = contact.phone_number
update.message.reply_text(f"Спасибо! Мы получили ваш номер телефона: {phone_number}")
else:
update.message.reply_text("Пожалуйста, отправьте ваш номер телефона, нажав на кнопку ниже.")
# Основная функция для запуска бота
def main() -> None:
# Вставьте сюда ваш токен бота
TOKEN = "ВАШ_ТОКЕН_БОТА"
# Создаем объект Updater и регистрируем обработчики
updater = Updater(TOKEN)
dispatcher = updater.dispatcher
# Обработчик команды /start
dispatcher.add_handler(CommandHandler("start", start))
# Обработчик сообщений с контактами
dispatcher.add_handler(MessageHandler(Filters.contact, contact_handler))
# Запускаем бота
updater.start_polling()
updater.idle()
if __name__ == "__main__":
main()
Пояснения:
Команда /start: При вызове команды /start бот отправляет сообщение с клавиатурой, на которой есть кнопка для отправки номера телефона.
Кнопка для отправки телефона:
KeyboardButton("Отправить номер телефона", request_contact=True) — кнопка, которая позволяет пользователю отправить свой контакт.
Обработка контактов:
Функция contact_handler обрабатывает сообщения, содержащие контактные данные, и отправляет подтверждение с номером телефона.
Токен: Замените ВАШ_ТОКЕН_БОТА на токен вашего Telegram-бота, который вы получили от BotFather.
Как запустить:
Установите python-telegram-bot:
pip install python-telegram-bot
Сохраните скрипт в файл, например, bot.py.
Запустите скрипт:
python bot.py
Найдите вашего бота в Telegram и отправьте команду /start.