Система оповещений

МойнМойн, начиная с версии 1.7, включает в себя новую систему оповещений. В дополнение к поддержке рассылки сообщений по почте стало возможным запустить отдельный процесс с XMPP-ботом для рассылки оповещений. См. http://www.jabber.org/ и http://www.xmpp.org/ Для дополнительной информации о данном протоколе.

Бот может использоваться для рассылки сообщений о различных событиях на вики или для интерактивной работы с вики.

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

Возможности системы оповещений

Параметры оповещений

Если параметр notification_bot_uri присутствует в конфигурации вики, то в пользовательских настройках доступны дополнительные опции.

Предварительно необходимо проверить наличие корректного JID в персональных настройках.

В списке пунктов можно выбрать события, о которых необходимо оповещать, а также присутствуют два флага для отметки о способах оповещения — по почте и/или по XMPP.

Известные проблемы

Необходима версия pyxmpp 1.0.1 (версия 1.0.0 не работает)

Скачайте последний релиз (>= 1.0.1) с pyxmpp homepage и распакуйте его.

После чего необходимо добавить директорию pyxmpp в PYTHONPATH или выполнить «полную установку» («full intallation»), как описано на сайте pyxmpp:

В случае наличия старой версии PyXMPP её рекомендуется удалить (путём удаления подкаталога pyxmpp из каталога site-packages файлов Python) перед установкой новой версии, в противном случае работоспособность не гарантируется. Кроме того, можно попробовать собрать PyXMPP следующим образом:

make && make install

Ограничения по трафику

XMPP-сервера обычно имеют довольно сильные ограничения по трафику, поэтому, если сайт генерирует большое количество трафика, бот может начать работать нестабильно или стать непригодным к использованию. Если подобные ситуации происходят, возможно, стоит использовать (поднять) собственный XMPP-сервер с не столь жёсткими ограничениями по трафику.

Локализация

Для того, чтобы использовалась локализация, вики должна быть доступна на момент запуска бота.

Начальная настройка и запуск XMPP-бота

Далее приведены пошаговые инструкции для начальной конфигурации и запуска XMPP-бота:

  1. Необходимо установить версию pyxmpp версии >= 1.0.1.

  2. XMPP-бот находится в директории jabberbot/ дистрибутива МойнМойн. Скопируйте его в подходящее место. Удостоверьтесь, что переменная окружения PYTHONPATH включает в себя каталог с кодом бота.

  3. Создайте учётную запись для бота, используя XMPP-клиент. На данный момент бот не может регистрировать учётную запись самостоятельно.
  4. Отредактируйте конфигурационный файл бота, находящийся в config.py, задав параметры конфигурационной записи и параметр secret, используемый для взаимодействия с вики.

  5. Отредактируйте конфигурацию вики, задав параметры notification_bot_uri и secrets (или secrets["jabberbot"]). Пример конфигурации можно найти в файле wiki/config/more_samples/jabber_wikiconfig_snippet дистрибутиве МойнМойн. Удостоверьтесь в совпадении значения параметра secret конфигурации бота и параметра secrets (secrets["jabberbot"]) конфигурации вики.

  6. (Пере)запустите экземпляр вики.
  7. Запустите бота: python main.py