Работа с сервисами Telegram, OpenWeatherMap.org, курсы валют РБ

23.07.19

Интеграция - Мессенджеры и боты

Небольшая конфигурация по работе с Telegram. Получение курсов валют, погоды по городу. Сказал бы, что это больше проба пера, а не готовая и быстро работающая. Для себя работать будет быстро)

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки для того, чтобы самостоятельно ее доработать для вашей базы данных. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в вашей базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке Купить один файл
Работа с сервисами Telegram, OpenWeatherMap.org, курсы валют РБ(cf):
.cf 86,75Kb
11
11
1 SM
Скачать Купить за 1 850 руб.

Первоначально конфигурация планировалась для сбора курсов валют банков Беларуси,у которых API в публичном доступе без регистрации и SMS. =)

Затем, рассказав одному другу про простую идею, он говорит - а сделай какого-нить робота для работы с телеграмм, чтобы можно было получать курсы и прогноз погоды.

Идея понравилась, и приступил к пробе пера работы с Телеграмм.

Первоначально опишу, что были созданы "универсальные" объекты

Справочник 

Сервисы

  • -имя сервера - имя сервера обращения к API
  • -https - признак защищенного соединения
  • -Токен - если требуется для авторизации(об этом ниже)
  • -КодАбревиатуры- краткий код сервиса для того что бы определить и красиво вывести в сообщении курсов и дальше для развития
  • -Формат даты - Формат в какую надо преобравывать Дату для API(если требуется).
  • Количество обращений за день-некоторые сервисы.

РегистрСведений 

  • ЖурналРегистрацииСервисов - в нем храним обращения на сервисы, признак успешного выполнения, описаниеОшибки, если не выполнен.

В справочнике "Сервисы" будут храниться наши настроенные сервисы(заполнение их опишу чуток ниже).

В РС "Журналы регистрация запросов" пишем запросы к сервисам, к которым будем обращаться (когда обращались и успешно ли и, если была ошибка, - описание ошибки).

Для начала собрал все API банков РБ, которые есть в публичном доступе.

У половины банков, а точнее у 2/3 курсы валют хранятся в разрезе подразделений, хотя есть и просто курсы валют.

Решил, что буду делать по подразделениям.

Были созданы следующие объекты для данного куска подсистемы:

Справочники

  •   Валюты
  •   Банки
  •   ПодразделенияБанка

РегистрСведений

  •   КурсыВалют

Модуль 

  • РаботаСКурсамиВалют

Регламентное задание

  • ЗаполнитьКурсы(по умолчанию запрос выполняется каждый час)

PS
В справочнике Банки созданы предопределенные элементы для большего удобства работы с ними.

В справочнике "Банки" в поле "Сервис" выбираем нужный нам элемент, который настроили.

После этой настройки запускаем регламентное задание.

Первоначально произойдет заполнение справочника валюты и курсы НБРБ.

Поскольку каждый банк предоставляет структуру ответа по валютам разные(у кого-то код валюты идет как USD,у кого-то код 984) ,создал 3 константы

  • валютаUSD
  • ВалютаEUR
  • ВалютаRUB

чтобы определить как-то, что это за валюта.

После заполнения данных констант, в следующий раз при отработке обновления курсов, произойдет заполнения регистра "Курсы валют" по банкам.

PS

Как писал выше, курсы валют заполняются по подразделениям, тут чуток соврал, поскольку в коде прописал по головному офису, но задел оставил на будущую реализацию, прошу сильно не бить. = )

Настраиваем регламентное "ЗаполнитьКурсы"  и по сути с валютами и все!

Дальше идет сервис для получения погоды.

Сначала идем на сайт https://openweathermap.org/ -крупный сервис предоставления данных о погодных условиях(Есть платные API и бесплатные).

-Какие мы будем использовать????

-Правильно!Бесплатные!))))

Регистрируемся на нем. 

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

PS
Токен, который пришел в письме, может быть сразу недоступен (до пары часов). 
Это пишется в документации.У меня стал доступен примерно через мин 30.

Для данного модуля были созданы

Справочники

  • Город
  • ПогодныеСобытия

Модуль 

  • РаботаСПрогнозомПогоды

РС

  • Погода

Что надо, чтобы получить данные о погоде?

В справочнике "Сервисы",там уже есть предопределенный элемент OpenWeatherMap.

Открываем его и заполняем 

  • Токен-берем из письма
  • Адрес сервера - api.openweathermap.org
  • https- ставим если защищенное соединение (в нашем случае ставим в истина)
  • В обработке "Получение данных",на закладке "Получение данных" вводим город и выполняем команду "Получить погоду по городу".

При выполнении команды,происходит обращение к сервису,после если все ответ положительный,тогда создается город(по ID),события погоды(по ID) и происходит запись в регистр "Погода".

В РС записываю данные 

  • Погодное событие
  • температру (цельсий)
  • Влажность(%)
  • давление (гетроПаскаль)

Данные записанные можно увидеть в выше описанном регистре сведений.

Дальше идет работа с Telegram.

Как создать бота в телеграмм и получить его Токен и прочую информацию, можно найти в интернете ,тут дублировать не буду а то и так много букав =)

Для работы с телеграмм были созданы следующие объекты

Справочники

  • ПользователиТелеграм

Модуль

  • РаботаСТелеграм

РС

  • ИсторияСообщений

РегламентноеЗадание

  • ОбщениеСБотомТелеграмм(расписание каждые 2 сек)

Для настройки необходимо зайти в справочник "Сервисы" и для одноименного элемента заполнить след. поля:

  • Токен- получен от @BotFather
  • Имя сервера - api.telegram.org
  • https- ставим если защищенное соединение (в нашем случае ставим в истина)

Работа производится с помощью метода GetUpdates который есть в документации.
В регистр сведений записываются сообщения полученные от бота

  • ID пользователя
  •  дата получения/отправки
  • текст сообщения

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

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

Записываю данные в регистр "История сообщений" и затем анализирую команды пришедшие(текстом) уже по сравнению на имя команды выдаю то что мне надо.Данные отправленные фиксирую в том же регистре сведений.

Так же есть обработка, которая была сделана для отладки получения курсов,общение с ботом,получение погоды.

Что хотелось бы дальше попробовать и что улучшить???
1)Надо делать это все через вебхуки потому что если нагрузку дать я думаю робот будет "подтупливать" и отправлять с задержкой ответы.
 2)Сделать как то универсальнне настойку команд ,что бы гибче их настраивать можно было.
3)Отправлять красивые сообщение и с клавиатурой telegram.

PS
Опыт интересный для пробы пера с telegram,поскольку опыта работы  с большими мессенджерами с их API таких ресурсов не было.
Как переделаю на вебхуки и решу выше описанные цели тогда добавлю в это же статью или же уже новую.


19.07.2019
Новая версия конфигурации(v 1.1)
Что сделано было.
Было добавлена inline- клавиатура
клавиатура по получению курсов валют,поиска погоды по введенному городу на текущий момент и на ближайшие 2 дня.
Скрин шоты приложены выже.
ДТ- перезалита.
23.07.2019
Новая версия конфигурации(v 1.2)
Добавлено получение погоды по географическим координатам в обработке.
Добавлена настройка прокси если необходимо в справочнике "Сервисы".

Тестирование производилось на платформе 1С:Предприятие 8.3 (8.3.13.1644)

В файле прикреплена DT-шка с данными.
Перезалил CF так мне кажется удобнее для тех кто уже скачал и накатит обновление или просто захочет сам настроить все это сам.

Телеграм Погода openweathermap.org telegram курсы валют РБ

См. также

Мессенджеры и боты Программист Пользователь Платформа 1С v8.3 Платные (руб)

Мощный модуль для интеграции 1С с чат-ботами: Telegram, Viber, WhatsApp, WhatsApp Business, Instagram, ICQ, Facebook, Vkontakte, Skype, Одноклассники, Яндекс.Алиса, Avito а так же виджеты чата для сайтов: Verbox, Jivochat. Это универсальное и эффективное решение с большими возможностями, простым интерфейсом, наличием визуального конструктора, базовыми сценариями поведения из коробки, позволяющий запустить чат-ботов в течении 1-го дня.

65000 руб.

08.10.2019    58541    33    0    

154

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор ботов в Телеграм.

15000 11250 руб.

18.06.2021    61834    298    269    

353

SALE! 25%

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    35244    91    161    

187

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    6681    45    11    

22

SALE! 50%

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

600 300 руб.

07.04.2014    84759    46    193    

132

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    28632    30    48    

63

Мессенджеры и боты SMS рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7800 руб.

15.05.2024    812    2    1    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ring_andrey 27 10.07.19 17:34 Сейчас в теме
Телеграмм работает через прокси? Можете описать, какой устанавливаете адрес и где берете новые, пока не заблокировали существующий?
2. serg-lom89 76 10.07.19 21:01 Сейчас в теме
(1)у нас в РБ такого нету))))
Не через прокси работает.
надо в настройке сервиса предусмотреть это будет.
Оставьте свое сообщение