@Quvi

Как переслать контакт от пользователя до меня через telegram бота telebot?

У меня есть код:
@bot.message_handler(commands=['start'])
def start(message):
    # Отправка сообщения
    bot.send_message(message.chat.id, "Необходимо подтвердить ваш номер телефона")
    
    # Создание клавиатуры с кнопкой "Подтвердить номер"
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    button = KeyboardButton(text="Подтвердить номер", request_contact=True)
    keyboard.add(button)
    
    # Отправка клавиатуры с кнопкой "Подтвердить номер"
    bot.send_message(message.chat.id, "Пожалуйста, подтвердите ваш номер, чтобы использовать систему", reply_markup=keyboard)

Он просит у пользователя отправить контакт. Теперь код проверки:
# Обработчик получения контакта
@bot.message_handler(content_types=['contact'])
def handle_contact(message):
    # Отправка сообщения 
    bot.send_message(message.chat.id, "Вы подтвердили номер телефона. ")

    # Теперь бот должен отправить / переслать сообщение от пользователя:
    bot.send_message(мой id, f'сообщение:\n{message.text}')

Не работает. Пробовал поставить message.text.lower() и message.text.int(), но бот присылал "Сообщение: None". Так же пробовал с bot_forward, но бот просто не отправлял сообщение.
Заранее спасибо.

P.S. Вот что выдает при send_message, когда пользователь отправляет контакт:
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message to forward not found
  • Вопрос задан
  • 265 просмотров
Решения вопроса 1
@Xproz
Пытаюсь постигнуть компьютерные сети
Ожидаемо, ведь ты пытаешься себе переслать message.text, хотя сам же запрашиваешь у пользователя контакт. Так что message.text - пустой, оттого и пишет тебе, что он просто не находит текста, чтобы отправить:

Bad Request: message to forward not found

Хочешь переслать номер - тогда вместо этого напиши:
bot.send_message(id, message.contact.phone_number)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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