Telegram бот удалить клавиатуру

В этой заметке я писал о том, как по команде бота выдаётся случайное фото, а если добавить параметр к команде, то будет целенаправленный выбор темы.
У меня в том боте, который я неспешно сейчас пишу, есть нечто подобное: по команде выбирается случайный канал и из него достаются картинки. Если указали канал, то выбор идёт из указанного. До какого-то момента это меня устраивало, пока список каналов не стал подходить к 10. И тогда я задумал сделать такую возможность: дать пользователю выбрать канал по нажатию на кнопку. Вот примерно как это сделано у меня.
Не важно, что вы используете в качестве библиотеки обращения к api, важно понимание этого самого api. Мы будем работать с методом sendMessage

this.bot.sendMessage(chatId, «Выберите канал:», reply_markup: resize_keyboard: true, inline_keyboard: [ [ text: «Случайно», callback_data: «random» >], [ text: «Спорт», callback_data: «sport» >], [ text: «Кино», callback_data: «cinema» >], [ text: «Музыка», callback_data: «music» >], ], >, >);
Enter fullscreen mode

Exit fullscreen mode

Telegram бот на python aiogram #5 Клавиатуры и кнопки

Результат

Результат:

Здесь у нас каждый массив с объектом- это строка с кнопкой. Можно и по-другому сделать, например так:

this.bot.sendMessage(chatId, «Выберите канал:», reply_markup: resize_keyboard: true, inline_keyboard: [ [ text: «Случайно», callback_data: «random» >], [ text: «Спорт», callback_data: «sport» >, text: «Кино», callback_data: «cinema» >, text: «Музыка», callback_data: «music» >, ], ], >, >);
Enter fullscreen mode

Exit fullscreen mode

Alt Text

Осталось добавить обработчик нажатия на кнопку. В библиотеке node-telegram-bot-api можно это сделать используя функцию on — первый параметр задаёт событие бота, на которое реагировать, второй параметр- обработчик этого события.

// После инициализации бота, задать обработчик this.bot.on(«callback_query», this.callbackQuery); // обработчик нажатия на кнопки callbackQuery = async (callbackQuery) => const msg = callbackQuery.message; // Спрятать клавиатуру (оптимально) // await this.removeHisKeyboard(callbackQuery); // См. ниже пояснения await this.bot.answerCallbackQuery(callbackQuery.id); const data = «» > = callbackQuery; //.. >; /** * Удалить вывод клавиатуры */ removeHisKeyboard = (callbackQuery) => const messageText = callbackQuery.message.text; const messageId = callbackQuery.message.message_id; return this.bot .editMessageText(messageText, message_id: messageId, chat_id: callbackQuery.from.id, reply_markup: inline_keyboard: [], >, >) >;
Enter fullscreen mode

Еще по теме:  Ошибка протокола системы взаимодействия 1с Telegram

Exit fullscreen mode

Про callbackQuery написано в документации по api — там же объясняется, почему нужно вызывать answerCallbackQuery . Функция removeHisKeyboard здесь может и не нужна, но если Вы хотите скрыть клавиатуру, после того, как сделан выбор, то можно ей воспользоваться. Здесь бот редактирует своё сообщение с интерактивным выбором,- он просто очищает inline_keyboard.

Источник: dev.to

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);

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

anoying keyboard

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

Я был следующим ressources:

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

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

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

node.js telegram telegram-bot

1 ответ

1 Решение tashakori [2018-04-15 22:20:00]

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

вы можете использовать самый первый ответ каждого пользователя для удаления клавиатуры, сначала используйте 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.

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

Как удалить бота в Телеграм: зачем их удалять и почему важно уметь

Сайт о телеграмм

Вопросы и ответы

Автор fast12v0_teleg На чтение 9 мин Просмотров 3к. Опубликовано 16.08.2021

Что такое бот

Бот в Telegram — это программа, созданная специально для общения. Роботы обучаются выполнять определенные действия с помощью предписанных команд — они могут изменять настройки и отвечать на вопросы.

Пример: робот для поиска книг.

  • Введите команду запуска;
  • Щелкните кнопку загрузки.
  • Введите команду для поиска фишки;
Еще по теме:  Если человек заблокировал в Телеграмме как обойти блокировку

Сервисы не отправляют информационные сообщения. Они работают только по команде — список разработанных настроек можно найти в каждом конкретном чате.

Какие есть программы:

  • Образовательный;
  • Используется в групповых чатах.
  • Для настроек;
  • Поисковый движок;
  • Для напоминания;
  • Для загрузки файлов;
  • Комментировать;
  • Веселье;

Важно! Сервисы безопасны: личные данные мессенджера просто недоступны.

Если робот не используется, от него стоит избавиться — ведь вы же не хотите собирать ненужные программы? Ниже описано, как удалить сервис на iPhone и Android.

Немного о ботах в Телеграме?

Бот — это специально написанная программа, которая общается с человеком в режиме реального времени. Отвечает на вопросы, выполняет команды, меняет настройки. Telegram — это мессенджер, официально поддерживающий функциональность таких систем в своем мире. Каждый пользователь может создать личного бота. Достаточно немного знаний в области программирования.

Преимущество использования ботов в Telegram заключается в том, что они не забывают информационные каналы: они могут отправлять сообщение после того, как пользователь отправил им запрос.

Они не предназначены для распространения рекламы. В мессенджере самые популярные боты:

Что могут делать боты?

Вот несколько примеров использования ботов:

  • Интеграция с другими сервисами. Например, бот может оставлять комментарии или управлять умным домом. Или, например, отправлять вам уведомления при выполнении действия или события (примеры: GitHub Bot, Image Bot).
  • Что ты хочешь. Ботов можно запрограммировать на что угодно. Если только они не могут мыть посуду.
  • Социальные службы. Бот может найти вам собеседника на основе ваших общих интересов и увлечений. (Пример: HotOrBot).
  • Утилиты и инструменты. Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (например: бот для опросов).
  • Одиночные и многопользовательские игры. Бот может играть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: викторина-бот).

Чем бот отличается от обычного аккаунта?

Суперспособности

Роботы Telegram обладают множеством уникальных функций, таких как настраиваемые клавиатуры, дополнительные командные интерфейсы по умолчанию, внешние ссылки и специальные режимы конфиденциальности для групп.

Игры

С помощью ботов пользователи могут играть в игры HTML5 в группах или приватных чатах. Игровая платформа Telegram поможет составить таблицу рекордов и уведомить пользователей об изменении рейтинга.

Еще по теме:  Как с Телеграмма сохранить аудио на Айфоне

Под капотом игр лежит HTML5, поэтому вы можете создавать игры любой сложности. На данный момент команда Telegram создала несколько демо-игр:

  • Математическая битва
  • Корсары
  • Лесоруб

Клавиатуры

Одна из самых необычных функций Bot API — это настраиваемые клавиатуры. Когда сервер отправляет ответ, может быть отправлена ​​команда для отображения специальной клавиатуры с предустановленными параметрами ответа (см. ReplyKeyboardMarkup).

Клиент Telegram, получив сообщение, покажет пользователю вашу клавиатуру. Нажатие клавиши немедленно отправит на сервер соответствующую команду. Таким образом, взаимодействие робота с пользователем можно значительно упростить: на данный момент можно использовать смайлики и текст для отображения на клавише.

Команды

Команды — это более гибкий способ общения с вашим ботом. Рекомендуется следующий синтаксис:

/ команда необязательно аргумент

Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из латинских букв, цифр и знаков подчеркивания. Несколько примеров:

/ get_messages_stats / set_timer 10-минутный будильник! / get_timezone Лондон, Великобритания

Если в группе несколько ботов, вы можете добавить имя бота после команды, чтобы избежать коллизий в общих командах:

Это произойдет автоматически, если вы выберете команду из списка доступных.

Как убрать из активного чата

Несмотря на очевидные преимущества использования роботов, иногда возникает необходимость удалить бота Telegram. Это несложно, с этим справится даже начинающий пользователь. Следуйте нашим инструкциям: все будет работать!

На iPhone

Владельцам iPhone необходимо сделать следующее, чтобы удалить бота в Telegram:

  • Откройте нужный диалог в Telegram и нажмите на имя бота;
  • Щелкните значок «Подробности»;

  • Внизу экрана вы найдете кнопку «Стоп»;

  • Теперь вернитесь на главный экран в раздел «Чат»;
  • Найдите значок корзины, выделенный красным;
  • Проведите пальцем влево по названию службы;

  • Выберите «Удалить».

Если вы не хотите останавливать и удалять бота отдельными действиями, выберите пункт меню «Удалить и остановить».

Таким образом вы можете устранить любого бота, например бота Telegram Flibust, с помощью которого вы можете совершенно бесплатно скачивать различные книги в любом формате!

На Android

Поговорим теперь о том, как удалить бота Telegram на Android:

  • Войдите в диалог в Telegram и нажмите на имя бота;
  • Нажмите на три точки вверху справа;


  • Найдите элемент «Стоп»;

  • Вернитесь в чат и нажмите на три точки вверху справа;
  • Выберите «Удалить чат»;


  • Подтвердите действие.

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