0 / 0 / 0
Регистрация: 18.04.2022
Сообщений: 13

Проблема с клавиатурой

07.03.2025, 14:47. Показов 1387. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть небольшая проблема с которой не могу разобраться. Суть в следующем. Имеется некий FSM, происходит запись пользователя на какую-то дату. После того как пользователь ввёл дату, ему предлагается в виде клавиатуры свободное на эту дату время. Клавиатура ReplyKeyboard. Но если пользователь введёт свою дату, а не из предложенных, запись также УСПЕШНО произойдет. Не могу понять как нам можно обработать неправильный ввод данных, чтобы пользователю предложилось выбрать дату ТОЛЬКО из предложенных. Заранее спасибо! Код прикрепляю ниже:


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@new_ticket_router.message(New_ticket.date)
async def date(message: Message, state: FSMContext):
    if not is_valid_date(message.text):
        await message.answer('Неверный формат даты, попробуйте ещё раз')
        return
    if not is_past(message.text):
        await message.answer('Вы не можете записаться на прошедший день, попробуйте ещё раз')
        return
    await state.update_data(date=message.text)
    await state.set_state(New_ticket.time)
    await message.answer("Выберете время для записи из предложенных вариантов.",
                         reply_markup=await valiable_times(date=message.text))
 
 
@new_ticket_router.message(New_ticket.time)
async def time(message: Message, state: FSMContext):
    await state.update_data(time=message.text)
    data = await state.get_data()
    await message.answer(f"Успех! Ваша запись:\nФамилия: {data['surname']}\nТелефон: {data['number']}\nДата: {data['date']}\nВремя: {data['time']}")
    await state.clear()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2025, 14:47
Ответы с готовыми решениями:

Бот для Телеграмм, использование клавиатур и команд
Доброго дня! Можно ли как то сделать так, чтобы текст на кнопке был один, но когда нажимаешь он отправлял и выполнял команду. ...

Делаю голосового ассистента и наткнулся на ряд проблем, одна из них - "return" outside of function
import pyttsx3 import datetime import speechRecognition as sr #import wikipedia #import webbrowser #import os.path #import...

Клавиатура чат-бота vk api
Добрый день, уважаемые коллеги, кто нибудь сталкивался с подобной ошибкой? Создаю клавиатуру для чат-бота с 4 элементами Buttons =...

2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
08.03.2025, 10:25
m4rlon4ik, а как он может ввести свою? разве ты не кнопки ему показываешь с выбором?
0
0 / 0 / 0
Регистрация: 18.04.2022
Сообщений: 13
08.03.2025, 10:26  [ТС]
Он может проигнорировать то, что я ему показываю и ввести своё произвольное значение в поле ввода сообщений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2025, 10:26
Помогаю со студенческими работами здесь

Не работает клавиатура у телеграм бота
До этого кода есть другая функция с обычным выведением текста из текстового файла после команд /grammar1, /lesson и тд. Хотела, чтобы на...

Клавиатура
Здравствуйте, пишу бота ВКонтакте на Python 3. Столкнулся со следующей проблемой, нужно как-то отследить нажатие на клавиатуре вк, на какую...

Проблема с телеграм-ботом
Здравствуйте. При запуске бота возникает вот такая ошибка. Прошу помощи. Заранее спасибо! Вот сам код: raise SSLError(e,...

Падает чат-бот. Проблема с bot.polling()
Здравствуйте! При запуске кода для связи с чат-ботом в Telegram, возникла следующая проблема, которую не получается решить: ...

Проблема с callback_data бот для раписания
Я добавляю инлайновую клаву и даю каждой callback_data потом проверку на дату в другом def и получяется так что он работает и cmd не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru