Вывод Reply кнопки и блокировка клавиатуры
При старте телеграм бота по команде /start выводится Reply кнопка, при этом необходимо заблокировать возможность пользователя что-то ввести в поле для ввода. Как это поле скрыть либо заблокировать функционал клавиатуры?
https://disk.yandex.ru/i/0r57wT_edGilPw
Функция вывода кнопки
def sogl_keyboard():
sogl_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
sogl_check = types.KeyboardButton('✅ Даю согласие на обработку персональных данных')
sogl_keyboard.add(sogl_check)
return sogl_keyboard
Ответы (2 шт):
Чтобы скрыть поле ввода вы можете использовать reply_markup параметр в send_message методе:
bot.send_message(message.chat.id, 'Я соглашаюсь на обработку данных', reply_markup=types.ReplyKeyboardRemove())
Но в вашем варианте надо добавить просто еще один параметр:
sogl_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
Вместо вашего:
sogl_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
Все вместе:
def sogl_keyboard():
sogl_keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
sogl_check = types.KeyboardButton('✅ Даю согласие на обработку персональных данных')
sogl_keyboard.add(sogl_check)
return sogl_keyboard
Не уверен что это возможно, где ты видел в Телеге чтобы если ты заходишь в чат и у тебя там нету доступа к полю чтобы написать сообщение?
Суть бота - чтобы человек смог текстом либо кнопками взаимодействовать с ботом и какая-то программа это все отрабатывала и возвращала ответ.
Как по мне это лучше сделать inline кнопкой, если ты боишься что юзер что-то сломает (либо реплай кнопкой и проверять текст, если текст нужный - значит человек согласен, если не тот - значит так и напиши что человек должен принять условия)