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

Что это такое?

Telegram набирает всё большую популярность. Недавно сервис предоставил платформу для создания ботов. Telemonitor — это прослойка между API Telegram и 1С/OneScript, позволяющая легко настроить функционал собственного бота. Кто-то задастся вопросом, а зачем вообще нужна какая-то дополнительная программа, ведь все можно организовать и в 1С. Конечно можно, но, на мой взгляд, это не всегда удобно. Во-первых, более или менее удобный функционал есть только в версии 8.3. Во-вторых, надо постоянно держать запущенным сеанс. Telemonitor, конечно, тоже имеет свои недостатки, но работать с ним, думаю будет удобнее.

Как это работает?

Telemonitor опрашивает бота с заданной периодичностью. При получении новой команды программа создает соединение с базой данных через ComConnector, и выполняет указанный для команды код, через вызов процедуры Выполнить(). Количество COM-соединений никак не ограничивается, поэтому одновременно можно отправлять боту несколько команд.

Как настроить своего бота?

Как зарегистрировать бота рассказывать, думаю, смысла нет. В интернете полно примеров, на Инфостарте, кстати, тоже есть очень полезная публикация. И так, открываем каталог Telemonitor и видим файл settings.ini. В нем необходимо задать token для бота, полученный при регистрации. При желании можно изменить интервал опроса бота и параметры соединения. Теперь рассмотрим папку databases, в ней будем описывать базы и команды.

Для каждой базы данных, в которой будем использовать бота создаем папку с произвольным названием латиницей. Для примера я использую базы FileAccounting82 и ServerTrade83. В каждой папке необходимо разместить файл database.ini, в котором указывается строка соединения с базой (сейчас в меня полетят тухлые помидоры, но да, пароль хранится в чистом виде) и используемая версия 1С. Кстати, 8.1 не поддерживается. Кодировка у ini файла должна быть Windows-1251.

Теперь настало время описать команды. В той же папке создаем файлы *.tcm. Каждый такой файл — это просто текст в кодировке UTF-8, содержащий описание команды и код, выполняемый в 1С. Первой строкой идет описание, далее — исполняемый код.

Если мы хотим увидеть какой-либо отклик от бота, тогда необходимо заполнить переменную Результат. В данном примере бот вернет описание пользователей, работающих в базе или скажет: «Нет активных пользователей». При создании своих команд помните, что весь код помещается в конструкцию Выполнить(), поэтому он имеет некоторые ограничения, думаю сами догадываетесь какие. Чтобы бот вернул файл, например, вы хотите получать какой-нибудь отчет или прайс, то в коде команды необходимо заполнить переменную Результат_Файл.

Что получилось в итоге?

После того, как мы создали каталоги для баз данных и файлы с командами, наш бот знает, какие команды у него есть, и что с ними делать.

Имя каждой команды складывается из имени базы данных и имени файла tcm. Запросим у бота список команд. И так, бот, /start !

Ух ты! Работает! Давай-ка, бот, нам список активных пользователей.

Эх, не было печали, а теперь вот каждое утро общаюсь с ботом и смотрю, все ли с базами в порядке ?

Что дальше?

Программу, она кстати использует NET Framework 2.0, писал для собственных нужд, но, если кому пригодится, буду очень рад. Буду рад предложениям по улучшению и расширению функционала.

Последние изменения:

  • 12.08.2015
  • Добавил команду /screen для получения скриншота.
  • Добавил возможность отправки файлов.
  • 23.10.2015
  • В команду теперь можно передавать параметры. В 1С все параметры будут доступны в реквизите «ПараметрыКоманды» через запятую
  • В settings.ini добавил параметр [SafeMode1C] для запуска кода в небезопасном режиме.
  • 17.03.2016
  • Добавил ограничение доступа по имени пользователя Telegram (username). Ограничения можно задать как на бота целиком, так и на базу данных. Для этого в файлах settings.ini и database.ini есть секция [WhiteList] и параметр Users. Именя пользователей, которым разрешен доступ, следует указывать через запятую. В этой же секции файла settings.ini можно ограничить доступ пользователям к получению скриншотов. Имя параметра, отвечающего за данное ограничение — ScreenOwners
  • 15.04.2016
  • Добавил поддержку команд с запросом параметров. Для того, чтобы бот запросил параметр, необходимо в коде команды использовать переменную ДиалогСПараметрами. Ниже представлен пример команды с запросом трех параметров
  • МассивПараметров = Новый Массив();
    Подстроки = СтрЗаменить(ПараметрыКоманды, ",", Символы.ПС);
    Для Сч = 1 По СтрЧислоСтрок(Подстроки) Цикл
    Параметр = СокрЛП(СтрПолучитьСтроку(Подстроки, Сч));
    Если ЗначениеЗаполнено(Параметр) Тогда
    МассивПараметров.Добавить(Параметр);
    КонецЕсли;
    КонецЦикла;
    Если МассивПараметров.Количество() < 3 Тогда
    ДиалогСПараметрами = Истина;
    Заголовки = Новый Соответствие();
    Заголовки[0] = "Введите первый параметр:";
    Заголовки[1] = "Отлично! Теперь укажите второй:";
    Заголовки[2] = "Почти готово! Третий параметр и заканчиваем:";
    Результат = Заголовки[МассивПараметров.Количество()];
    Иначе
    // Здесь выполнение какого-то кода...
    Результат = "Команда выполнена со следующими параметрами:" + Символы.ПС;
    Результат = Результат + "1) " + МассивПараметров[0] + Символы.ПС;
    Результат = Результат + "2) " + МассивПараметров[1] + Символы.ПС;
    Результат = Результат + "3) " + МассивПараметров[2];
    КонецЕсли;

    Ну и результат работы

    При написании таких команд надо понимать, что Telemonitor не поддерживает COM-соединение между запросами параметров у пользователя. При передаче каждого параметра создается новое соединение и в код каманды передаются все полученные параметры, поэтому в описании команды нет смысла инициализировать какие-либо переменные и выполнять действия, в надежде, что они будут доступны при передаче следующего параметра.

  • Также, теперь в коде команды есть доступ к имени пользователя Telegram, и полному идентификатору команды. Для этого используются переменные username, first_name, last_name и command
  • 22.11.2016
  • Добавлена поддержка OneScript(1Script). Для тех, кто не в курсе, что это такое вот ссылка и вот. Скрипты необходимо размещать в папке scripts c расширением *.os. Примеры скриптов есть в архиве с программой. Команды для OneScript имеют некоторые особенности, но не сильно отличаются от таковых для 1С. Все пробелы в параметрах, переданных в команду заменяются на знак подчеркивания «_».

P.S. Писал быстро, поэтому возможны какие-нибудь ошибки. Буду благодарен, если вы сообщите о таковых.

kak-udalit-bot-telegram

Можно как добавить, так и удалить бот в Телеграм. Причем, сделать это довольно просто.

Что такое бот

Бот, он же робот — специальная программа, обученная «притворяться» человеком в общении или для каких-нибудь других целей. Telegram — один из немногих мессенджеров, который поддерживает присутствие ботов внутри себя «на официальном уровне». Более того, каждый может создать своего личного бота. При условии, что пользователь владеет языком программирования на должном уровне, конечно.

Обычно наличие ботов в соцсетях и на форумах не приветствуется. Они забивают информационный канал и часто служат массовой рассылке спама. Боты же в Телеграмм созданы для того, чтобы собирать для пользователя нужную информацию или выполнять какие-нибудь полезные функции. Вот только некоторые из самых известных ботов:

  • @quizbot — робот для викторин;
  • @BenderBot — поставляет плагины для расширения возможностей мессенджера;
  • @clippy — поможет создать стикер из какого-либо изображения;
  • @cbr bot — отображает валютный курс;
  • @telebot — робот Антон, известен многими полезными функциями. Например, позволяет русифицировать данный мессенджер.

Удаление бота

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

kak-udalit-bot-telegram

Чтобы это сделать, потребуется выделить робота в списке контактов и нажать правую кнопку мыши, если используется ОС Windows. Для мобильных пользователей: нажать на служебную кнопку в виде трех точек. Среди прочих возможных пунктов нужно будет выбрать «Stop and block bot». Тот же самый пункт будет доступен и в меню профиля бота.

После выполнения команды «Stop and block bot» данный робот больше никогда не потревожит.

Источники