Как в Телеграм сделать чтобы боты тебе не присылали больше сообщений

Содержание

Бот — это собеседник в телеграм, который отвечает по определенным алгоритмам вам в телеграм.

Вы пишете ему «привет», он обрабатывает эту команду по своим внутренним алгоритмам и выдает ответ в виде сообщения, картинки, документа и т.д.

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

Для бизнеса боты можно применять следующим образом:

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

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

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

Наш случай — это создание бота с управлением через процедуру 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 настраиваем следующие параметры:

    1. proxyUrl — указываем прокси для Телеграма в таком виде http://45.89.19.84:11498 (если прокси не нужен, то просто оставляем пустыми поля)
    2. proxyUser, proxyPassword — указываем пользователя и пароль прокси.
    3. telegramToken — указываем токен, который мы получили при создании бота в Телеграм (в botFather).
    4. 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.

    1. Для прокси можно использовать IPv4 и IPv6
    2. Прокси можно купить здесь — https://proxy.market/
    3. В as_users добавлены 2 поля telegram и telegramChatID, а также добавлена хранимая процедура [as_user_getUser] (проверьте, что они есть в вашей базе).
    4. Чтобы работало внешнее действие типа telegram в системе должна быть хранимая процедура as_user_getUser

    Использование бота

    • В телеграм находим бота (например, наш бот FalconSpaceBot)
    • Пишем ему /start для инициализации (осуществляется привязка вашего пользователя к чату).
    • Выполняем различные команды, например /getupdates — если команда прописана в чате, то она будет обработана и выдан ответ.

    Включение/выключение бота

    Бот включается при запуске всего веб приложения (Global.asax/app_start).

    Чтобы его выключить вручную, можно из-под админа использовать команду (перейти на URL) /Controls/Stuff/StopTelegramBot

    Еще по теме:  Автоответы в Телеграмм на отпуск

    Для включения — /Controls/Stuff/StartTelegramBot

    Детали реализации бота

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

    • Для перевода строки в сообщении бота используйте Char(10);

    Howto по Telegram боту

    Не работает бот Telegram. Что делать?

    1. Проверьте что прокси прописан в web.config
    2. Проверьте что прокси не просрочен
    3. Проверьте что бот в целом отвечает на ваши команды в телеграм (если не отвечает)
    4. Попробуйте запустить заново бота /Controls/Stuff/StartTelegramBot (либо перезапустите пул приложения в IIS)
    5. Проверьте as_trace (коды TG и Exception). В нем пишутся ошибки и инициализация и завершение потока бота.
    6. Сделать as_print в процедуре и посмотреть попадает ли туда бот.
    7. Бот может остановиться если у вас запущена локальная отладка (в этом случае возникает конфликт обновлений, поэтому необходимо отключать бота при локальном запуске — в web.config убирать токен).
    8. Бот может падать, если выключается автоматически пул IIS. Необходимо его настроить так, чтобы он не отключался при простое.
    9. Если ничего не помогает, перезагрузите пул, сайт в 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:

    1. currentCommand — текущая рабочая команда (в рамках которой пользователь вводит данные).
    2. currentCommandStep — текущий шаг в команде (для определения какой текст вывести в рамках команды).
    3. 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. Перед отправкой данных у вас должен существовать участок сценария с записью в переменные.

    Пройдите этот урок для построения сценария.

    После прохождения урока, у вас будут 5 переменных:

    • для имени
    • для фамилии
    • для телефона
    • для email
    • для вида услуги

    Опубликуйте бота в Telegram

    Чтобы опубликовать бота в Telegram, следуйте инструкции.

    Если вы уже опубликовали бота в Telegram, переходите к следующему пункту.

    Получите chat_id

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

    Чтобы получить chat_id , создайте в сценарии новый экран с текстом:

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

    Опубликуйте бота

    Нажмите Опубликовать и дождитесь сообщения о том, что сценарий опубликован на канале Telegram.

    Протестируйте бота

    Теперь перейдите к своему боту в Telegram (не в тестовом виджете!) и отправьте боту:

    Если вы хотите, чтобы сообщения приходили не вам, а другому человеку, то просто отправьте этому человеку ссылку на бота. Если этот пользователь будет общаться с этим ботом впервые, то бот сразу же пришлет значение chat_id . Если этот пользователь ранее уже общался с этим ботом, то попросите пользователя отправить в диалог /start , чтобы получить chat_id.

    Бот пришлет вам нужное значение:

    Скопируйте и вставьте в блокнот число, которое прислал бот.

    Удалите экран с текстом $rawRequest.message.from.id . Он больше не нужен.

    Отправьте данные

    Следующий шаг — отправить данные, полученные от клиента. Для этого в сценарии, после сбора всей нужной информации, должен быть блок HTTP-запрос. С помощью одного запроса можно передать сразу несколько переменных:

    Блок должен быть оформлен следующим образом:

    Метод GET

    Формирование URL

    Для создания URL скопируйте в блокнот строку: https://api.telegram.org/bot/sendMessage

    Затем перейдите в Telegram в канал BotFather и скопируйте токен вашего бота, который был сгенерирован, когда вы публиковали канал:

    В блокноте выделите

    И вместо вставьте токен из Telegram:

    Получится примерно следующий адрес:

    Теперь выделите строку целиком и вставьте ее в поле URL HTTP-запроса в Aimylogic

    Оформление поля BODY

    В BODY нам нужно указать:

    • значение chat_id , которое мы получили ранее

    • все переменные, которые мы до этого собрали в сценарии.

    Если вы повторили урок по сбору контактных данных, то в сценарии вы получили следующую информацию:

    Ваше имя: $name Ваша фамилия: $lastname Ваш телефон: $PHONE Ваш email: $EMAIL Вид услуги: $service

    Поэтому сейчас мы используем именно эти переменные.

    Итак, нужно вставить значение chat_id и перечислить переменные, которые были в сценарии до отправки.

    Обратите внимание на отступы и знаки препинания! Рекомендуем не набирать текст, а скопировать и вставить.

    Нажмите Сохранить.

    Готово, мы оформили Http-запрос для отправки данных.

    Проверьте статус отправки

    От логики «Завершен успешно» добавляем связь к новому экрану, содержащему сообщение об успешной отправке данных. Например, “Спасибо, ваши данные успешно отправлены!”

    От логики “Завершен с ошибкой” делаем связь с экраном, содержащим текстовый блок “Ошибка $httpStatus ”. Данный блок поможет нам понять, в чем неполадка, если http-запрос не будет успешным.

    Еще по теме:  Звонки в Телеграм развод

    Протестируйте сценарий

    Нажмите Тестировать и поговорите с ботом.

    По итогу диалога нужная информация должна прийти в Telegram.

    Обратите внимание, что бот будет присылать сообщение в вашу беседу с ботом. Если вы ожидаете, что вам придет личное сообщение от какого-то другого аккаунта, вас может смутить такое поведение. Но в дальнейшем, когда другие люди будут писать боту, и вы будете получать сообщения от бота, вам будет более понятно, что происходит. Попросите другого человека прислать боту свое имя и телефон, и тогда вы получите сообщение от бота.

    Возможные неполадки

    Вы нажимаете Тестировать, и бот выдает ошибку

    Проверьте, не используете ли вы в сценарии $rawRequest для получения имени. Если да, то тестировать нужно в канале Telegram. В тестовом виджете ошибка будет ожидаемо выпадать, так как бот пытается получить информацию из канала, которого нет.

    «Ошибка -1»

    Проверьте правильность URL в http-запросе. Возможно, в самом URL или в конце URL есть пробел либо по ошибке вставлен неверный символ.

    «Ошибка 400»

    1. Проверьте правильность оформления http-запроса. Попробуйте удалить Telegram-бота в BotFather, создать заново и использовать заново сгенерированный токен.
    2. Проверьте правильность оформления поля BODY (синтаксис).

    Образец правильного оформления поля BODY

    • Первая и последняя строчка должны содержать только фигурные скобки
    • Должны быть отступы (можете нажать Tab либо нажать пробел четыре раза)
    • «chat_id»: должно быть написано именно так (проверьте на наличие опечаток, а лучше скопируйте и вставьте): «chat_id»:
    • Значение chat_id должно быть не 123456789, а реальное значение, которое вы скопировали на шаге 3 (123456789 это пример для урока)
    • Строка, содержащая «chat_id»: должна оканчиваться запятой
    • После двоеточий должны быть пробелы
    • Значение передаваемого текста сообщения должно быть в таких кавычках: » »

    Источник: help.aimylogic.com

    Как подключить бота к каналу в Telegram — добавление и активация в группе или в беседе

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

    Полезное

    Автор Анна Сергеева На чтение 5 мин Просмотров 9.8к.

    Чтобы вести канал на высоком уровне, следует узнать, как добавить бота в «Телеграмме». Такие помощники сделают пост привлекательным для читателей, ответят на все их вопросы. Я расскажу вам о возможностях сервиса.

    Добавление ботов в Telegram

    «Телеграм» – многофункциональное приложение. Здесь пользователь может общаться, обмениваться новостями, видео, вести группу по интересам или заниматься бизнесом.

    Для организации эффективной работы в мессенджере существуют боты.

    Искусственный интеллект выполняет всю рутинную работу:

    • занимается поиском информации в интернете;
    • скачивает текст, видео, музыку;
    • создает рассылки;
    • оформляет статьи;
    • комментирует;
    • проводит опросы;
    • выполняет функцию «Автопостинга»;
    • ведет беседу;
    • переводит и т.д.

    Взаимодействие с искусственным интеллектом осуществляется в беседе, начало к которой открывает кнопка «Старт». Затем все просто – набирайте команды или нажимайте кнопки-подсказки.

    На канал или в группу

    Чтобы робот мог начать работу в группе или на канале, его надо туда поставить:

    1. Войдите в мессенджер.
    2. Откройте группу или создайте новую.
    3. Тапните по аватарке вверху страницы.
    4. Перейдите в раздел «Добавить участников».
    5. Введите в поисковик название робота.
    6. Выберите из списка нужный адрес.
    7. Нажмите кнопку «Пригласить».
    8. Подтвердите действие.

    Также читайте: Что означает ошибка Nothing Stored в мессенджере Telegram

    На канал

    В чат

    Загрузить чат-бота можно также через настройки виртуального помощника:

    1. Найдите робота – воспользуйтесь любым из предложенных выше способов.
    2. Откройте диалог.
    3. Нажмите на его название вверху страницы.
    4. Кликните по значку «3 точки».
    5. Выберите в новом меню команду «Добавить в группу».
    6. Выделите название чата из списка или введите его никнейм.
    7. Активируйте действие.

    Таким же образом можно присоединить bot к любому каналу или группе.

    В чат

    Как назначить бота администратором

    Бот-администратор – необходимый помощник для раскрутки канала, поддержания к нему интереса аудитории.

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

    • публиковать сообщения;
    • подключать абонентов;
    • редактировать текст;
    • создавать рассылки;
    • собирать статистику и т.п.

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

    Админ

    1. Войдите в приложение.
    2. Откройте нужный канал или создайте новый.
    3. Тапните по никнейму, расположенному вверху экрана.
    4. Зайдите в настройки, нажав на иконку с изображением шестеренки.
    5. Выберите раздел «Администратор».
    6. Щелкните «Добавить администратора».
    7. Кликните по боту, введя в поисковой строке его название.
    8. Установите для него разрешения для действий в канале.
    9. Нажмите «Сохранить».

    Многие виртуальные помощники дают инструкцию о том, как добавить бота в «Телеграме» в канал. Они также могут запрашивать ссылки-приглашения и самостоятельно присоединяться к ресурсу.

    Настройка бота в Telegram

    В «Телеграме» можно использовать не только готовых помощников, но и сделать своего робота, под свои задачи.

    Для этого у вас есть 3 способа:

    1. Если вы владеете программированием, то сможете прописать бота с помощью специального редактора Telegram API.
    2. Когда нет необходимых навыков, но хотите продвинутого помощника и для этого у вас есть достаточно средств, закажите робота у специалистов.
    3. Сделать самостоятельно с помощью сервиса.

    Подключение

    Первые шаги при создании виртуального ассистента:

    Теперь пришло время приступить к настройке, для этого:

    Ваш виртуальный ассистент создан. Теперь зайдите в ваш bot и создайте пост.

    Настройка

    Написание команд

    Чтобы ваш помощник правильно реагировал на запросы абонентов, стоит прописать для него специальные команды.

    Нужно сказать, что бот уже владеет набором стандартных программ.

    Добавление кнопок

    Чтобы активировать кнопки к новому посту:

    1. Войдите в ваш бот.
    2. Создайте сообщение.
    3. Выберите из списка «Добавить URL-кнопки» или «Добавить реакции».

    Возможные проблемы с добавлением бота

    Если бот не работает, причин может быть несколько:

    • неправильно набранная команда;
    • программа блокирована мессенджером;
    • в коде допущена ошибка;
    • устаревшая версия приложения.

    Обзор

    Источник: telegramguru.info

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