1С – бот для Telegram

1С – бот для Telegram

Давно збирався розібратися як це працює, але все не було часу. І ось з’явилася задача на оформлення замовлень через бот телеграму і одразу знайшовся час). Почав шукати інформацію, і виявилося що інформації в інтернеті багато, але вся майже однакова наприклад як відправити повідомлення або як отримати. Мені потрібно було зробити кнопочки для зручного оформлення замовлення і ця інформація в інтернеті була описана дуже поверхнево. Виявилося що це достатньо легко зробити.

API telegram має багато функцій, я ж зроблю невелику нотатку по деяким моментам для майбутнього використання. Це не буде повноцінний механізм роботи, але будуть робочі приклади деяких функцій.

Створення боту Telegram

Спочатку треба створити бот з яким ми будемо працювати. В телеграм для цього є окремий бот @BotFather. Треба додати його в свої контакти і в чаті написати команду “/start”. Він нам виведе список всіх доступних команд з описами. Нам потрібно створити наш бот, для цього є команда

Далі читаємо питання і вводимо унікальну назву боту. Якщо бот створено отримаємо повідомлення про це, а також унікальний токен який нам буде потрібний для роботи через АПІ.

Додаємо наш бот в контакти і починаємо з ним працювати.

Підключення до серверу telegram через api.

Є варіант періодичного підключення до API серверу і отримання нових повідомлень. Інформації як це зробити в інтернеті багато тому робити це не буду. В мене на сервері 1С розгорнутий web-сервер, тому  я вибрав більш зручний способ отримання повідомлень через запити з телеграму на наш сервер.

Важливо! Сервер повинен працювати в захищеному режимі з валідними сертифікатами. Я раніше писав як отримати безкоштовний сертифікат і як його встановити на iis сервер.

Для того щоб телеграм міг надсилати нам повідомлення, ми повинні йому передати УРЛ на який він буде це робити. Для цього нам потрібно в 1С зробити обробку цього урлу.

То ж створюємо новий HTTP сервіс в 1С та модуль обробки POST запитів.

Бот 1С для telegram

Буде створена процедура обработки запитів в якій пишемо наш код обробки:

Тепер ми можемо передати телеграму на яку адресу відправляти нові повідомлення.

Виглядати вона буде так:

де server – це доменне ім’я Вашего серверу, baza1c – ім’я бази вказане при публікації.

де Токен – це Ваш токен отриманий при реєстрації Вашого боту.

Все, тепер при написанні нових повідомлень через бот Вони будуть одразу надсилатися на наш сервер.

Отримання нових повідомлень з telegram в 1С.

Процедуру та метод отримання повідомлень ми вже створили, тепер напишемо обробку отримання цих повідомлень.

Важливо! Якщо бот не отримає від нас відповідь, або отримає неправильну відповідь він буде повторно надсилати нам повідомлення до отримання відповіді.

Відправлення повідомлень з 1С в telegram

Для відправлення повідомлення нам потрібно знати наш токен, який ми отримали при створенні боту, ІД чату з клієнтом, яке ми отримали разом з повідомленням від нього і текст повідомлення, який ми йому хочемо відправити. Все далі відправляємо повідомлення в чат клієнта.

Вставка в повідомлення кнопок і отримання результату їх натиснення.

Відправляти в чат тільки текст це добре, але не завжди зручно. Коли клієнту треба дати якийсь вибір то треба це зробити у вигляді кнопок, це буде зручно як для клієнта, так і буде менше помилок при введенні тексту.

Для того, щоб відправити кнопки в чат треба до повідомлення вище додати ще параметр “reply_markup” і опис кнопок у форматі json. Нам треба зробити вибір з декількох варіантів. Робимо масив цих значень і формуємо з них json.

И к нашему сообщению их цепляем:

Коли в чаті користувач натисне кнопка ми отримаємо те значення яке передали в параметрі “callback_data”.

В нашій функції, на яку ми отримуємо нові повідомлення, серед  параметрів буде ознака натиснутої кнопки. Виглядає це так:

Вставка лінків в повідомлення

Бувають ситуації коли треба щоб на натиснену кнопку відривався, наприклад, сайт компанії.

Такі кнопки відрізняються від звичайних кнопок тільки одним параметром. Для вичайних кнопок ми передавали так:

А для кнопок з посиланнями другий параметр міняємо на посилання на сайт.

Можливостей у API Telegram значно більше, але описані, на мій погляд, головні і далі при необхідності можна з іншими розібратись. І це достатньо щоб зробити повноцінний бот для телеграму.  Далі вже справа техніки.

А замовити розробку чат-боту будь-якої складності, для будь якої конфігурації 1С Ви можете в компанії ІТ рішення для бізнесу яка розробила перший в України і дуже зручний чат-бот для доставки води.

One response to “1С – бот для Telegram”

  1. Леонід сказав:

    Зразок бота не був би зайвим

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *