Как убрать клавиатуру в Телеграмм боте

Я столкнулся с очень странной проблемой, которая, вероятно, связана с кешем.

Итак, вот оно. Я разработал бота на nodejs для телеграммы.

У этого бота в прошлом БЫЛА настраиваемая клавиатура, которая не была «inline_keyboard» Я решил изменить это поведение и реализовал inline_keyboard.

Текущий код выглядит примерно так:

var options = < parse_mode: «Markdown», disable_web_page_preview: true, reply_markup: JSON.stringify(< inline_keyboard: [ [< text: ‘?? English’, callback_data: «SET ENGLISH» >,< text: ‘?? Français’, callback_data: «SET FRENCH» >] ] >) >; bot.sendMessage(msg.chat.id, «Please choose your language»,options);

Inline_keyboard работает нормально, но мой старый код (который был удален) все еще отображается для моих пользователей и очень раздражает.

Вот; он продолжает появляться, когда мои пользователи входят в мой чат.

Я получил следующие ресурсы:

  • https://core.telegram.org/bots/api#replykeyboardremove
  • Как убрать клавиатуру ответа без отправки сообщения в Telegram?
  • https://core.telegram.org/bots/api#editmessagereplymarkup

Но я не знаю, как это реализовать, чтобы убрать этот надоедливый чат для моих пользователей.

СОЗДАЕМ КНОПКИ БОТУ | ИЗМЕНЕНИЕ СООБЩЕНИЙ | PyTelegramBotAPI | PYTHON

Какие-либо предложения ? Спасибо за вашу поддержку

15.04.2018 15:23

Оператор pass в Python — это простая концепция, которую могут быстро освоить даже новички без опыта программирования.

Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции — это способ манипулировать массивами и играть с массивами данных. Благодаря.

Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний.

Все о массиве Dependency и его связи с useEffect.
Перейти к ответу Данный вопрос помечен как решенный

Еще по теме:  Как зайти в Телеграм если код приходит на почту а ее нету

Ответы 1

Ответ принят как подходящий

Для этого могут быть разные решения, мое предложение:

Вы можете использовать самый первый ответ каждого пользователя, чтобы удалить клавиатуру, сначала используйте editMessageText, чтобы удалить клавиатуру, а затем отправьте ему соответствующий ответ. (обратите внимание, что сохраните идентификаторы chatID, которые вы удалили с клавиатуры, поэтому вы сделаете это для каждого пользователя только один раз )

bot.on(‘callback_query’, function onCallbackQuery(callbackQuery) < if (!didWeRemoveHisKeyboard(callbackQuery.from.id)) removeHisKeyboard(callbackQuery) //then handle the user response >) removeHisKeyboard = function(callbackQuery)< bot.editMessageText(callbackQuery.message.text, >).catch((err) => < //some error handling >).then(function(res)< if (res) addThisChatToHandledList(callbackQuery.from.id) >) >

Обратите внимание, что вам может потребоваться некоторая модификация этого кода в зависимости от используемого модуля node_module.

Спасибо за ваш ответ. Я протестирую и проголосую, если мне это поможет!

Telegram Bot на Python | Часть 3. Кнопки (клавиатура) с командами в чате с ботом

Для меня действительно важным моментом в этом ответе является линейка remove_keyboard: true. Без него клавиатура сохраняется для каждого сообщения.

Источник: reddeveloper.ru

Telegram bot — Удалить клавиатуру — Nodejs

Я столкнулся с очень странной проблемой, которая, вероятно, связана с кешем. Так вот оно. Я разработал бота в nodejs для телеграммы. Этот бот в прошлом был пользовательской клавиатурой, которая не была «inline_keyboard», я решил изменить это поведение и реализовал inline_keyboard. текущий код выглядит примерно так:

var options = parse_mode: «Markdown»,
disable_web_page_preview: true,
reply_markup: JSON.stringify( inline_keyboard: [
[ text: ‘ English’,
callback_data: «SET ENGLISH»
>, text: ‘ Français’,
callback_data: «SET FRENCH»
>]
]
>)
>;

bot.sendMessage(msg.chat.id, «Please choose your language»,options);

anoying keyboard

Inline_keyboard работает нормально, но мой старый код (который был удален) по-прежнему появляется для моих пользователей и очень неприятен. Вот; он продолжает появляться, когда мои пользователи входят в мой чат. Я был следующим ressources:

    https://core.telegram.org/bots/api#replykeyboardremoveКак удалить клавиатуру ответа без отправки сообщения в Telegram?https://core.telegram.org/bots/api#editmessagereplymarkup
Еще по теме:  Как посмотреть в каких каналах сидит человек в Телеграмме

Но я не вижу, как его реализовать, поэтому я могу удалить этот раздражающий чат для своих пользователей. Какие-либо предложения? спасибо для вашей поддержки

спросил(а) 2018-04-15T16:23:00+03:00 5 лет, 1 месяц назад

Источник: progi.pro

Telegram Bot Создание и получение данных с кастомной клавиатуры в Telegram боте на c#

Screenshot_20200922_090656.jpg

.
Одной из ключевых «фишек» Bot API стало появление кастомных клавиатур. На самом деле, это обычные шаблоны сообщений, не более, поэтому относиться к ним надо осторожно. Давайте просто покажу на примере, как делается такая клавиатура:

from telebot import types markup = types.ReplyKeyboardMarkup() markup.row(‘a’, ‘v’) markup.row(‘c’, ‘d’, ‘e’) bot.send_message(message.chat.id, «Choose one letter:», reply_markup=markup)

e1_1.jpg

Создаем объект типа ReplyKeyboardMarkup(), добавляем построчно элементы (или можно сделать автоматическое разделение на строки при помощи аргумента row_width), передаем полученную разметку в метод send_message(). Если же мы хотим убрать кастомную клавиатуру вообще, заменив её на кнопочку [/], то вместо объекта ReplyKeyboardMarkup()надо создать объект ReplyKeyboardRemove() и просто передать его в send_message().

Последнее редактирование: 22.09.2020

YTreWQ

Member

18.04.2020 7 0
Я делал в Python через библиотека
Ссылка скрыта от гостей

.
Одной из ключевых «фишек» Bot API стало появление кастомных клавиатур. На самом деле, это обычные шаблоны сообщений, не более, поэтому относиться к ним надо осторожно. Давайте просто покажу на примере, как делается такая клавиатура:

from telebot import types markup = types.ReplyKeyboardMarkup() markup.row(‘a’, ‘v’) markup.row(‘c’, ‘d’, ‘e’) bot.send_message(message.chat.id, «Choose one letter:», reply_markup=markup)

Создаем объект типа ReplyKeyboardMarkup(), добавляем построчно элементы (или можно сделать автоматическое разделение на строки при помощи аргумента row_width), передаем полученную разметку в метод send_message(). Если же мы хотим убрать кастомную клавиатуру вообще, заменив её на кнопочку [/], то вместо объекта ReplyKeyboardMarkup()надо создать объект ReplyKeyboardRemove() и просто передать его в send_message().

Еще по теме:  Что такое сетка Телеграмм

Прошу прощения я не провильно составил вопрос я пишу бота на c# и хочу узнать как это реализовать на с#

Источник: codeby.net

Рейтинг
( Пока оценок нет )
Загрузка ...