Бот — это собеседник в телеграм, который отвечает по определенным алгоритмам вам в телеграм.
Вы пишете ему «привет», он обрабатывает эту команду по своим внутренним алгоритмам и выдает ответ в виде сообщения, картинки, документа и т.д.
Если вы уже подписаны на бота (т.е. уже связывались с ним ранее), то бот может вам слать сам сообщения: важные уведомления с сайта, дайджест новостей, напоминание о днях рождения и т.д.
Для бизнеса боты можно применять следующим образом:
- уведомление пользователей с вашего сервиса
- аналог email рассылки контента, но через бота
- обработка типовых обращений от клиентов (эти дурацкие псевдоинтеллектуальные боты, которые всех нервируют).
- выполнение части функций сервиса, например подача заявки, или подтверждение некоего действия.
Чтобы создать бота необходимо использовать определенный сервис, который будет отвечать за алгоритмы команд вашего бота.
Есть сервисы без необходимости программирования — т.е. бизнес-логика бота задается визуально через настройки. Если вы ищете управление ботом без программирования, то здесь найдете сравнение подобных сервисов.
БОТ для автоответов в Telegram | AutoAnswersBot
Наш случай — это создание бота с управлением через процедуру SQL (на базе платформы Falcon Space). Т.е. процедура SQL определяет как обработать команды и что выдать человеку.
Как настроить бота Telegram на базе Falcon Space
Создаем Бота в Telegram на базе веб-платформы Falcon Space.
Falcon Space — это платформа для создания веб-решений с управлением через SQL. Все создается и управляется на SQL. Телеграм бот управляется полностью 1 хранимой процедурой на SQL!
На основе Falcon Space вы можете создать систему личных кабинетов на сайте со встроенным телеграм ботом.
1. Находим бота BotFather -> команда /newbot -> даем ему описание, имя (заканчивается на Bot) и картинку . В итоге получаем token
2. В web.config / AppSettings настраиваем следующие параметры:
- proxyUrl — указываем прокси для Телеграма в таком виде http://45.89.19.84:11498 (если прокси не нужен, то просто оставляем пустыми поля)
- proxyUser, proxyPassword — указываем пользователя и пароль прокси.
- telegramToken — указываем токен, который мы получили при создании бота в Телеграм (в botFather).
- telegramOnlyTextMessages — если 1, то в обработку бота будут попадать только текстовые сообщения.
3. В таблице as_users добавляем 2 поля:
IF COL_LENGTH( ‘as_users’, ‘telegram’) IS NULL BEGIN ALTER TABLE as_users ADD telegram nvarchar ( 128 ) NULL END IF COL_LENGTH( ‘as_users’, ‘telegramChatID’) IS NULL BEGIN ALTER TABLE as_users ADD telegramChatID int NULL END
4. Создаем хранимую процедуру такого вида (в разделе Системный SQL / Telegram Bot):
- SELECT 1 — Result и Msg
- SELECT 2 — набор команд для telegram (актуально если SELECT1.Result=1). Type, Text, ChatID, replyMessageID, DisableNotification, Channel, ButtonsJSON, parseMode
- SELECT 3 — внешние действия, которые могут быть вызваны по команде от телеграм бота.
5. Проверяем, что работает бот. Подписываемся на него в telegram и выполняем /start (при этом мы получим отклик Привет. ). Если нет отклика, значит бот не запущен. Попробуйте его перезапустить в разделе Системный SQL (Старт телеграм бот).
6. Чтобы подписать пользователя на некие действия, необходимо сначала чтобы он указал свой телеграм в профиле (поле as_users.telegram). Затем он должен сделать любую команду в телеграме, отправив боту к примеру /start
Хранение привязки чата к пользователю системы
В as_users есть 2 поля: telegram и telegramChatID. При первом обращении, система через хранимую процедуру обновит поле telegramChatID для соответствующего пользователя с заданным telegram. После этого он сможет получать сообщения от telegram.
- Для прокси можно использовать IPv4 и IPv6
- Прокси можно купить здесь — https://proxy.market/
- В as_users добавлены 2 поля telegram и telegramChatID, а также добавлена хранимая процедура [as_user_getUser] (проверьте, что они есть в вашей базе).
- Чтобы работало внешнее действие типа telegram в системе должна быть хранимая процедура as_user_getUser
Использование бота
- В телеграм находим бота (например, наш бот FalconSpaceBot)
- Пишем ему /start для инициализации (осуществляется привязка вашего пользователя к чату).
- Выполняем различные команды, например /getupdates — если команда прописана в чате, то она будет обработана и выдан ответ.
Включение/выключение бота
Бот включается при запуске всего веб приложения (Global.asax/app_start).
Чтобы его выключить вручную, можно из-под админа использовать команду (перейти на URL) /Controls/Stuff/StopTelegramBot
Для включения — /Controls/Stuff/StartTelegramBot
Детали реализации бота
Реализован в виде отдельного потока, который крутится бесконечно и ожидает приема от бота обновлений. Если есть обновление, то запускает для него процедуру обработки этого обновления (сообщения в нем)
- Для перевода строки в сообщении бота используйте Char(10);
Howto по Telegram боту
Не работает бот Telegram. Что делать?
- Проверьте что прокси прописан в web.config
- Проверьте что прокси не просрочен
- Проверьте что бот в целом отвечает на ваши команды в телеграм (если не отвечает)
- Попробуйте запустить заново бота /Controls/Stuff/StartTelegramBot (либо перезапустите пул приложения в IIS)
- Проверьте as_trace (коды TG и Exception). В нем пишутся ошибки и инициализация и завершение потока бота.
- Сделать as_print в процедуре и посмотреть попадает ли туда бот.
- Бот может остановиться если у вас запущена локальная отладка (в этом случае возникает конфликт обновлений, поэтому необходимо отключать бота при локальном запуске — в web.config убирать токен).
- Бот может падать, если выключается автоматически пул IIS. Необходимо его настроить так, чтобы он не отключался при простое.
- Если ничего не помогает, перезагрузите пул, сайт в IIS. Проверьте, что пингуется сервера API сервис Телеграма api.telegram.org .
Как отправить сообщение пользователю в Телеграм
Для этого используем Внешнее действие (в формах и других элементах) с кодом telegram.
select ‘telegram’ type, ‘admin’ [to], ‘Некий текст сообщения’ [text], » buttonsJSON, » parseMode
Также сообщение можно отправлять через уведомления (если включено Немедленное уведомление).
buttonsJSON задает настройки кнопок.
parseMode задает формат обработки сообщений (по умолчанию html. Возможные значения html, default, markdown, markdownv2).
ВАЖНО! Необходима реализация процедуры tg_getChatID:
Как отправить сообщение в закрытый чат
Для этого используем символ «-» и chatID в параметре to
select ‘telegram’ type, ‘text 1’ text, ‘-340984421’ [to]
Передается chatID. Для групп это отрицательное число, которое можно получить либо экспортом сообщений группы в JSON (и там можно будет найти chat_id), либо через запрос вида:
https://api.telegram.org/bot11111111:22222222/getUpdates
Примечание: бот необязательно должен быть администратором группы.
Как отправить сообщение пользователю по chatID
Для этого используем символ «#» и chatID в параметре to
select ‘telegram’ type, ‘text 1’ text, ‘-340984421’ [to]
Как отправить сообщение в канал Телеграм
Для этого используем Внешнее действие (в формах и других элементах) с кодом telegram.
select ‘telegram’ type, » [to], ‘falconspace’ channel, ‘Некий текст сообщения’ [text]
Бот должен быть добавлен администратором в канал при этом.
ВАЖНО! Необходима реализация процедуры tg_getChatID
Как сделать рассылку пользователям при сохранении формы.
Указываем всех пользователей в SELECT 2 + связываем с настройками показа данного сообщения (т.е. показываем тем, кто разрешил отправку на этот тип уведомлений. Поля настроек могут меняться). Пример:
Как работать с кнопками Телеграм
Кнопки могут быть либо Inline (в чате при ответе), либо Reply(внизу под чатом).
Кнопки передаются в виде JSON в параметре SELECT 2 ButtonsJSON:
SELECT ‘ < «oneTimeKeyboard»: true, «resizeKeyboard»: true, «inlineButtons»: [ [ , , ], [ , , ] ], «replyButtons»: [ [ , , ], [ , , ] ] > ‘ ButtonsJSON
Для Inline кнопок указываем:
- Text — название кнопки.
- CallbackData — данные для передачи в процедуру
- Url — если указан, то кнопка будет открывать указанный адрес. ВАЖНО! Вводите корректный URL, иначе будет исключение и вся исходная команда не будет работать.
Для reply кнопок команда используется в поле text. Также для них есть 2 настройки:
- ResizeKeyboard — Requests clients to resize the keyboard.
- OneTimeKeyboard — Requests clients to hide the keyboard as soon as it’s been used.
В процедуру для онлайн кнопок будет передаваться как команда поле callbackData, а для reply кнопок — поле text.
Дополнительная информация о кнопках Телеграм:
Использование Эмоджи в сообщениях
Выбираем символ, на страницу символа берем его код UTF16 LE
В SQL используем этот код следующим образом:
CAST(0x3DD801DE AS NVARCHAR(MAX))
Как блокировать телеграм аккаунты в боте
Указываем в начале процедуры action следующий код
В итоге бот ничего не будет отвечать клиенту.
Также вы можете настроить хранение статуса блокирования как отдельный столбец в таблице tg_settings.
Как выводить html теги в сообщениях
Для этого используется параметр paseMode=’html’ (это значение используется по умолчанию).
Есть альтернативные способы разметки — default, markdown, markdownv2.
ВАЖНО. В html режиме отправка сообщения в телеграм поддерживает только эти теги b, strong, i, em, u, ins, s, strike, a, code, pre. Если будут запрещенные теги, то сообщение не отправится. Детали — https://core.telegram.org/bots/api#html-style
Как быстро подписать пользователя на телеграм бота
Для этого даем ему ссылку вида: https://t.me/FalconSpaceBot?start=1, где FalconSpaceBot — это имя вашего бота.
Пользователь переходит на бота и нажимает там кнопку Запустить. При этом ваша команда /start должна учитывать что в этом случае придет она как /start 1
Т.е. используем left () для определения команды start, а не точное соответствие.
Логирование команд боту от пользователей
В начале процедуры action установите сохранение в trace. В дальнейшем можно анализировать все сообщения через страницу диагностики /diag
Многоступенчатые команды в боте
Для этого используются следующие поля в tg_settings:
- currentCommand — текущая рабочая команда (в рамках которой пользователь вводит данные).
- currentCommandStep — текущий шаг в команде (для определения какой текст вывести в рамках команды).
- currentCommandData — здесь накапливаются данные по выполнению команды.
Пример кода такой команды:
В примере указан полный код процедуры бота с обработкой start, меню и бизнес-логикой ступенчатой команды. Также в коде есть пример как использовать Эмоджи в боте.
Ошибки при работе с ботом
Ошибка Error converting data type bigint to int. | command /start
В этом случае необходимо изменить тип данных для этих полей с int на bigint: tg_settings.chatID и as_users.telegramChatID
ALTER TABLE as_users ALTER COLUMN telegramChatID bigint NULL ALTER TABLE tg_settings ALTER COLUMN chatID bigint NULL
Не работают inline кнопки
Если они не отображаются, то проверьте, что не указаны reply кнопки (они вместе с inline кнопками не используются) и режим в команде IsReplyButtons=0
Если используются URL, то проверьте что указан корректный URL для кнопок.
Если кнопки есть, но при клике не реагируют, то проверьте, что в appsettings (в MVC версии — в web.config) установлен параметр telegramOnlyTextMessages = 0:
Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователемНастройка уведомлений для личного кабинета на сайтеHOWTO. Как настроить чат помощи для пользователейВнедрение чата в личный кабинет пользователяРабота с комментариями к объектамТелеграм боты и отправка сообщений в Telegram в веб-платформе Falcon SpaceКак создать чат бот ВКонтакте. VK бот для обработки сообщений в группе.Как сделать push уведомлениеКак отправить Email, SMS или уведомление пользователюКак отправлять SMS с сайта через smsc.ruОтправка email с шаблоном письмаКак сделать ежедневную отправку отчета по проекту в групповой чат Telegram?Настройки почты для отправки сообщений с сайтаВидеочат. Интеграция с Vox ImplantБазовая интеграция с Jitsi Meet (звонки с видео)Отправка СМС через targetsms.ruКак сделать механизм отправки различных писем по шаблону с возможностью редактирования перед отправкой
- Дизайн, стилизация
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Источник: falconspace.ru
Как сделать автоответчик Telegram: основной выход из ситуации и дальнейшие перспективы
Телеграмм – популярная и массовая социальная сеть, в которой происходит общение между миллионами пользователями. Порой некоторым пользователям приходят постоянные нежелательные сообщения, которые отвлекают и не содержат полезной информации. Порой нет времени общаться, но не отвечать человеку не получается. Поэтому, чтобы как-то исправить эту проблему, многие начали задумываться, а как сделать автоответчик Telegram?
Автоответчик Telegram поможет вам всегда быть на связи
Совершать это с помощью системных функций не получится, но не стоит забывать, что Телеграмм постоянно развивается и в будущем подобная функция возможна. Но она точно не находится в приоритете, поэтому автоответчик Telegram ждать придется еще долго. Однако Телеграмм обладает множеством других полезных функций:
Телеграмм бот для Инстаграм: для чего он нужен
Как решить данную проблему?
Как сделать автоответчик Telegram? Для этого нужно будет воспользоваться специальным автономным аккаунтом, который будет запрограммирован определенными командами и будет иметь ответы на все случае жизни.
Реализовать это можно лично, только если вы разбираетесь, как именно создаются автоматические профили, но сразу отметим, что подобного формата создать плагин достаточно сложно и нужно потратить много времени.
Но не стоит забывать, что на данный момент процветает бизнес в области создания специальных наработок различного характера. Талантливые специалисты способны создать практически любого робота, который необходим для дальнейшего пользования. Нужно лишь подробно расписать необходимые условия и желаемый результат.
Бот-автоответчик с заданным текстом всегда сообщит собеседнику, что вас нет на месте
Заказать можно на любой бирже фрилансеров, либо постараться изучить лично все тонкости создания ботов и постараться самому создать необходимый вариант. Но не забывайте, если вам бот нужен в каких-то личных целях, то не стоит за него переплачивать, подождите, пока появится специальная внутренняя функция аналогичного направления. Так и деньги сэкономите, да и работать подобный плагин будет намного лучше.
Источник: telegram-free.org
Как создать чат-бота в Телеграм самостоятельно
Система объединяет в одном окне все мессенджеры, социальные сети и чаты. Обращение клиента нельзя пропустить, ответ будет мгновенным.
Попробовать бесплатно
Аудитория Telegram прошла рубеж в 27 млн активных пользователей в России еще в 2020 году и остается самой быстрорастущей для мессенджеров. По понятным причинам бизнес переходит в Telegram, используя боты для продаж и коммуникации с клиентами. Их можно научить отправлять сообщения-автоответы, добавлять переменные, отправлять веб-хуки, сохранять данные про пользователей, сегментировать аудиторию и делать много другого полезного по работе с клиентами.
Нужно помнить, что бот для Телеграм — это все еще приложение, программа. Создать бота может кто угодно, но вот чтобы обучить, нужно уметь программировать. Если вам незнакомы понятия Python, JavaScript или Flask, API, cgi и HTTP-интерфейс, вряд ли получится написать бота вручную. Но есть решение — конструкторы. В этой статье мы расскажем, как создать бота для телеграмма с нуля, если вы не программист. Но сначала общие сведения.
Общие сведения
Бот — это интерактивное приложение, программа, если хотите — интерфейс к вашему серверу. Бот умеет запускать разные варианты предустановленных сценариев в ответ на нажатие кнопки или какое-то слово. По сути, бот имитирует живое общение.
Зачем нужны боты
Чтобы автоматически обрабатывать и отправлять сообщения. Пользователь может написать вашему боту в обычном чате или канале, и тот ему ответит по заранее разработанному скрипту. Он имитирует живое общение и может выпытывать у юзеров полезную для бизнеса информацию: номера телефонов, э-мейлы, анкетные данные и переносить их в переменные. Его можно научить выполнять команды, рассылать сообщения, отвечать на вопросы клиентов и делать все то, что менеджер раньше делал вручную.
Это можно использовать в бизнесе:
- презентовать себя и продукт
- делать массовые рассылки с новостями
- регистрировать на мероприятия, делать запись на консультацию
- организовать выбор еды в меню для доставки, бронь столиков
- давать ответы на часто задаваемые вопросы
- организовать первичную обработку сообщений в службу поддержки
- сделать сервис оплаты и доставки товаров
- подписать пользователей на обновления
- организовать выбор врача и запись для клиники
- организовать сбор обратной связи, отзывов по продуктам и услугам, т.д.
Любые из этих действий можно упаковать в бота и не делать это вручную. Главное — грамотно продумать логику его поведения. Для примера: вот как выглядит бот для продажи курсов и консультаций от семейного психолога.
Что могут делать боты
Боту можно поручить любую функцию, которую в мессенджере может выполнить человек. Он не просто выполнит ее лучше, но и во много раз быстрее.
- Настроить для коммуникации с клиентами. Бот будет отвечать на сообщения, подбирать продукты, собирать контакты и заявки, давать инструкции, ссылки на оплату, распределять между менеджерами
- Интегрировать с любыми другими сервисами. Например, его можно научить управлять умным домом в приложении, подбирать картинки или gif-анимации в Яндексе под ключевые слова или отвечать на комментарии пользователей в вашем канале
- Использовать как утилиту. Например, бот может отображать юзерам погоду по запросу в конкретном городе, делать автоматический перевод текста, проводить опросы или сообщать о каком-то событии, например, появлении нового товара
- Использовать как интерактив. Бот может играть в шахматы, проводить викторины, тестировать знания пользователей, присылать анекдоты или подбирать вид кофе по вашему знаку зодиака
- Применять для социальной коммуникации. Например, учитывать интересы и предпочтения людей при поиске собеседника, подбирать музыкальные проигрыватели для меломанов
В самом Telegram говорят, что бота можно научить делать что угодно, если это не мытье посуды.
BotFather
С его помощью можно настраивать ранее созданных ботов или создавать новых. Напишите ему, следуйте инструкциям и он поможет вам сделать бота самостоятельно, добавить его и активировать. Правда, все инструкции на английском языке. Ниже — наш пошаговый алгоритм для создания бота на русском.
Как создать бота в Телеграм
2. Придумать название. Можно вписать любое имя, какое хочется. оно будет отображаться в контактах и чатах.
3. Придумать логин. Пишем боту придуманное название и он предлагает нам выбрать для бота логин. Программа предупредит, что логин должен заканчиваться на «bot». Логин должен быть уникальным, программа не пропустит имя пользователя, если оно уже занято. А еще он должен быть написан на латинице (с цифрами и нижним подчеркиванием), содержать от 5 до 32 символов.
3. Сохранить токен. Бот-отец пришлет вам токен вашего бота. Сохраните его в текстовом файле, например, в блокноте. Это ключ для доступа к HTTP API, с помощью которого вы будете программировать робота, получать и отправлять сообщения. Запомнить получится вряд ли, выглядит он примерно вот так:
4. Добавить аватар, описание, приветственное сообщение. Жмем /help и получаем перечень базовых команд. Тут будут в том числе команды для изменения описания (/setdescription), информации о боте (/setabouttext), для загрузки аватара (/setuserpic) и другие. Мы их продублировали в разделе про настройки.
Теперь бот создан, сохранен и активирован. Но чтобы научить его выполнять какие-то функции и отвечать на команды, бот нужно обучить. Для этого нужно работать с языками программирования, уметь писать код и использовать Bot API — HTTP-интерфейс для работы с ботами в Telegram. Или воспользоваться одним из сервисов-конструкторов. Они помогают создавать логику работы ботов без особых проблем и навыков программирования. О них ниже.
Создание токена
Настройки бота
/setname — коррекция имени робота
/setdescription — коррекция описания. Это краткая характеристика создаваемого бота, что он умеет. Это описание будет видно другим пользователям
/setabouttext — коррекция информации. Это описание профиля, еще короче, чем дескрипшн. Если человек даст кому-то ссылку на вашего бота, то второй человек получит это короткое описание вместе со ссылкой
/setuserpic — коррекция аватарки. Иллюстрация — это всегда хорошо, люди смогут идентифицировать вашего бота в списке контактов по картинке
/setcommands — коррекция перечня команд робота. Это команды в формате «/команда». Их увидят пользователи при использовании вашего бота
/setprivacy — настройка приватности. Нужна на случай, если вы хотите подключить бота в группу включить или ограничить его возможность видеть групповые сообщения
/deletebot — удаляет вашего бота
Источник: okocrm.com