Подключение к 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 ленту или почтовую рассылку.