Не работает функция запроса номера телефона aiogram, когда пользователь использует телефон, на пк работает
keyboard.py
def contact_keyboard(self):
markup = ReplyKeyboardMarkup(resize_keyboard=True)
first_button = KeyboardButton(text=("? Отправить"), request_contact=True)
markup.add(first_button)
return markup
handler.py
@dp.message_handler(Command('start'))
async def on_start_test(message: types.Message):
await message.answer('Привет, ' + str(message.from_user.full_name) + '\nНужно подтвердить номер', reply_markup= markup)
await CallbackOnStart.Q1.set()
@dp.message_handler(content_types=types.ContentType.CONTACT, state = CallbackOnStart.Q1)
async def tower(message: types.Message, state: FSMContext):
contact = message.contact
Ответы (1 шт):
Автор решения: Caxa
→ Ссылка
Попробуйте следующий код:
keyboard.py
def contact_keyboard():
markup = ReplyKeyboardMarkup(resize_keyboard=True)
first_button = KeyboardButton(text=("? Отправить"), request_contact=True)
markup.add(first_button)
return markup
handler.py
@dp.message_handler(Command('start'))
async def on_start_test(message: types.Message):
markup = contact_keyboard()
await message.answer('Привет, ' + str(message.from_user.full_name) + '\nНужно подтвердить номер', reply_markup=markup)
await CallbackOnStart.Q1.set()
@dp.message_handler(content_types=types.ContentType.CONTACT, state=CallbackOnStart.Q1)
async def tower(message: types.Message, state: FSMContext):
try:
contact = message.contact.phone_number
await message.answer(f"Спасибо за отправку номера телефона: {contact}")
except Exception as e:
await message.answer(f"Произошла ошибка: {e}")