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

23.07.19

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

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

Скачать исходный код

Наименование Файл Версия Размер
Работа с сервисами Telegram, OpenWeatherMap.org, курсы валют РБ(cf):
.cf 86,75Kb
11
.cf 1.2 86,75Kb 11 Скачать

Первоначально конфигурация планировалась для сбора курсов валют банков Беларуси,у которых 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 курсы валют РБ

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

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

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

15000 11250 руб.

18.06.2021    59412    294    255    

348

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

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

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

13200 9900 руб.

27.12.2021    33793    82    159    

177

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 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    28003    26    48    

58

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

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

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

7788 руб.

07.04.2014    83844    41    191    

128

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    14073    11    8    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

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

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2347    2    0    

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