Подключение к XMPP серверу

В этой заметке описано как подключить ardj к серверу XMPP (Jabber) для удалённого им управления.  В конце заметки есть сжатая версия для быстрого запуска.


Управлять эфиром можно с помощью командной строки.  В простых случаях этого достаточно.  Это можно делать даже удалённо, подключаясь к серверу удалённо по SSH.  Однако это не всегда удобно делать, например, с мобильного телефона.  Сделать доступ к такой консоли публичным и безопасным ещё сложнее.  Для этих целей больше подходит протокол обмена мгновенными сообщениями XMPP.

Удалённое управление работает просто: ardj устанавливает соединение с сервером и ждёт команд от пользователей.  Большинству пользователей доступны простые команды: поиск композиций, постановка в очередь, голосование.  Ограниченному кругу пользователей доступны расширенные команды: смена плейлиста, управление медиатекой, пропуск композиций и другие.  Для удобства пользователей робот может присоединиться к конференции и отправлять в неё сообщения о смене плейлиста и другие важные сообщения.

Проверка соединения

Для подключения к серверу следует знать адрес сервера, имя пользователя и пароль.  Имея эти данные, можно проверить возможность соединения командой ardj jabber probe, например:

$ ardj jabber probe [email protected] secret

Эта команда производит попытку подключения к серверу в отладочном режиме, с выводом большого количества отладочной информации.  Сообщения об ошибках будут выделены красным шрифтом с пометкой «error».  Пример ошибки, возникающей при указании неверного пароля:

DEBUG: sasl         error Failed SASL authentification: <not-authorized />

При отсутствии ошибок процесс будет работать до ручного прерывания (Ctrl+C); с помощью любимого клиента можно отправлять роботу сообщения и наблюдать их в консоли.  На работу эфира проверочное соединение никак не влияет.

Сжатая версия

$ ardj probe [email protected] secret  # в случае успеха прервать по ^C
$ ardj config  # проверить и отредактировать параметры с префиксом jabber
$ ardj jabber run-bot  # запуск бота

Ссылки

Следить за развитием событий можно через RSS ленту или почтовую рассылку.