СИБУР перевёл 40 тысяч сотрудников на платформу Труконф

Перейти к результатам

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Выберите категорию:
База знаний
Вебинары
Мероприятия
Новости
Обзоры
Обновления
Пресс-релизы
Примеры внедрений
Вернуться

Как управлять TrueConf Server с помощью его API и бота Telegram

5 мин.

Как управлять TrueConf Server с помощью его API и бота Telegram 1

Администратор TrueConf Server может получать быстрый доступ к важной информации сервера, используя для этого популярные мессенджеры, например, Telegram. Для этого можно создать бота, который с помощью TrueConf Server API будет получать необходимые данные. Разместить бота можно как на своём сервере локально, так и на специализированном сервисе для онлайн-разработки.

В данном примере мы покажем, как создать Telegram бота, и запустить его на локальной машине, при этом мы предоставляем готовый пример кода реализации задачи на Python:

Как управлять TrueConf Server с помощью его API и бота Telegram 2

Предлагаемый бот обладает следующими возможностями:

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

Далее по тексту ошибочно запущенные конференции для краткости названы «забытыми», то есть их забыли остановить владелец и ведущие. Например, проводился вебинар, гости покинули его, а ведущий свернул клиентское приложение, не остановив мероприятие. Оно продолжает идти, а если была включена запись – то и зря занимать место на SSD или HDD разрастающимся файлом записи.

Для примера “забытой” мы считаем такую конференцию:

  • она длится дольше одного часа;
  • в ней остался один только владелец или ведущий;
  • в ней есть участники, но среди них нет ни одного ведущего.

Как управлять TrueConf Server с помощью его API и бота Telegram 3

Необходимые условия для запуска

Для успешного запуска бота требуется выполнение двух условий:

  • каждый контролируемый сервер должен быть доступен по своему IP-адресу или DNS-имени на ПК, где запускается бот;
  • ПК с ботом должен иметь выход в интернет.

Представленный код является примером на основе которого вы можете сами реализовать своего бота. Заметим, что безопасность бота обеспечивается на уровне протокола OAuth 2.0 и HTTPS, а также на стороне настроек сети (правила доступа, брандмауэр и т.п.). Бот работает в режиме long_polling, и самостоятельно опрашивает сервер Telegram о новых обновлениях. В отличии от webhook такая схема подключения является совершенно безопасной в корпоративной среде.

Регистрация своего бота и его настройка

Для использования Telegram-бота вам понадобится официальный бот BotFather.

BotFather – это единственный бот, который управляет ботами в Telegram. Подробнее читайте в официальной документации.

Чтобы создать бота:

  • Откройте BotFather и нажмите Запустить или Старт.
  • У вас откроется список возможностей бота. Вам понадобится команда
    /newbot. Нажмите на неё в списке, или отправьте боту новое сообщение /newbot.

    В дальнейшем список доступных команд можно открыть с помощью кнопки Как управлять TrueConf Server с помощью его API и бота Telegram 4 или просто набрав / в поле ввода сообщения в чате с BotFather.

  • Далее BotFather предложит назвать нового бота. Придумайте название, например TCS [name_org, где [name_org] — название вашей организации.
  • Теперь придумайте имя пользователя (username) для вашего бота. В имени обязательно должно присутствовать слово bot, это требование Telegram, например, tcs_[name_org]_bot.

    Обратите внимание, что название бота и его имя пользователя – это публичные имена, по которым его можно найти через глобальный поиск.

  • В ответ вы получите сообщение со сведениями о созданном боте и токеном доступа к нему с помощью HTTP API в виде:

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

Для того чтобы перейти в настройки вашего бота, выполните команду
/mybots и выберите соответствующее имя пользователя. У вас откроется меню, в котором можно:

  • аннулировать текущий токен, при этом новый токен создаётся
    автоматически;
  • редактировать имя, приветственное сообщение, описание, изображение;
  • добавить команды.

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

Подготовка конфигурационного файла

Предварительно вам понадобится подготовить файл настроек с данными для доступа
к своему боту и параметрами серверов. Скопируйте файл settings.example.toml в новый файл settings.toml:

Теперь вам нужно правильно заполнить эту структуру данных.

tg-api-token — токен доступа HTTP API Telegram.

tg-users-id — ваш числовой Telegram ID. Telegram обеспечивает безопасность доступа к боту с помощью уникальных ID пользователей, поэтому чтобы вы могли получить ответ от бота, вам понадобится узнать свой Telegram ID. Чтобы получить его, пришлите боту @userinfobot любое сообщение.

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

locale — код языка, на котором бот будет отвечать. Вы можете исправить фразы или добавить свой перевод в папку app/locales.

В [servers.<server_name>] замените <server_name> на предпочтительное имя сервера. Оно будет отображено в названии кнопок:

Как управлять TrueConf Server с помощью его API и бота Telegram 5

ip — FQDN или IP-адрес сервера.

client_id, client_secret будут доступны вам после создания OAuth2 приложения. О том, как его создать, читайте в нашей документации.

Для нашего примера вам понадобится отметить такие разрешения в OAuth приложении:

  • conferences;
  • users:read;
  • logs.calls:read;
  • logs.calls.participants:read.

server_status — включение или отключение автоматической проверки доступности сервера. Значения: true или false.

server_status.timeout — время в секундах, через которое бот будет проверять доступность сервера (Работает, Отключен). По умолчанию указано 15
секунд, но вы можете ввести своё значение.

ssl_certificate — настройка проверки TLS-сертификата. Если true, то каждый запрос сервера будет проходить проверку. Если ваш сервер использует самоподписанный сертификат, то в этом параметре укажите путь к нему (используйте прямой слеш /). Если бот используется в доверенной зоне (например, сервер находящийся в вашей корпоративной сети и доступ к ней только у вас), то укажите false – это отключит проверку сертификата. Если ничего не указано «», то это равносильно false.

После заполнения файла у вас должна получится структура как на примере ниже:

Запуск бота

  • Установите Python.
  • Скачайте проект. На главной странице репозитория нажмите кнопку Code → Download ZIP, и распакуйте загруженный архив.
  • Установите pipenv:
  • Установите зависимости. Для этого в папке с проектом выполните в терминале команду:

    где --python 3.x ваша версия Python. Рекомендуем использовать 3.7 и выше.
  • Запустите бота:

При успешном запуске бота в терминале отобразится надпись Bot is running…

Запуск бота на облачных сервисах

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

  • Replit — сервис для запуска и разработки приложений прямо в браузере.
  • Heroku — платформа для развертывания и хостинга приложений с простотой интеграции с GitHub.
  • Google Cloud Platform (GCP) — мощная платформа с широкими возможностями для хостинга и управления приложениями.
  • AWS (Amazon Web Services) — облачная платформа от Amazon для масштабируемых приложений с множеством инструментов и
    сервисов.
  • Microsoft Azure — платформа для разработки и управления приложениями в облаке с интеграцией в экосистему Microsoft.
  • Glitch — сервис для быстрого хостинга и разработки приложений с простым интерфейсом и интеграцией с GitHub.

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

Предыдущая статья Следующая статья

Попробуйте безопасную ВКС-платформу Труконф!

ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!

Труконф

Крупнейшее ВКС-сообщество в России

Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.

Подписаться
Видео+Конференция

Актуальные новости из мира ВКС

Подписывайтесь на канал нашего информационного партнёра «Видео+Конференция», чтобы быть в курсе последних новостей в сфере видеоконференцсвязи и AV-оборудования.

Подписаться Перейти на сайт

Содержание