Управление конференц-комнатами ejabberd через консоль ejabberdctl.

В качестве памятки опишу как управлять конференц-комнатами XMPP-сервера ejabberd через консоль ejabberdctl.

 

Рассмотрю самые основные моменты, которые у меня часто возникают в работе с конференц-комнатами (создание, задание параметров комнаты, определение членства пользователя в комнате, удаление комнаты).

Все ниже описанные действия применялись на развернутом XMPP-сервере ejabberd 18.12.1 на Debian 9 Stretch по этой статье.

 

В моем случае ejabberd-сервер работает от пользователя ejabberd, поэтому работать с консолью ejabberdctl необходимо через этого же пользователя.

 

Создадим комнату «general«, для сервиса MUC «conference.example.com» и домена «example.com»:

sudo -u ejabberd ejabberdctl create_room "general" "conference.example.com" "example.com"

 

Чтобы отобразить доступные параметры для комнаты, выполним команду:

sudo -u ejabberd ejabberdctl get_room_options "general" "conference.example.com"
title 
description 
allow_change_subj false
allow_query_users true
allow_private_messages true
allow_private_messages_from_visitors anyone
allow_visitor_status true
allow_visitor_nickchange false
public true
public_list true
persistent true
moderated true
captcha_protected false
members_by_default true
members_only true
allow_user_invites false
allow_subscription false
password_protected false
password 
anonymous false
presence_broadcast [moderator,participant,visitor]
allow_voice_requests true
voice_request_min_interval 1800
max_users 200
logging true
vcard 
vcard_xupdate undefined
captcha_whitelist {0,nil}
mam true
pubsub 
lang

 

Для примера для комнаты «general«, укажем что комната постоянная (persistent) и вход в нее только по членству (members_only). Выполним команду:

sudo -u ejabberd ejabberdctl change_room_option "general" "conference.example.com" "persistent" "true" 
sudo -u ejabberd ejabberdctl change_room_option "general" "conference.example.com" "members_only" "true"

 

Так как для комнаты указали вход в нее только по членству, то добавить членство в комнате «general«, для пользователя «jakonda@example.com», можно командой:

sudo -u ejabberd ejabberdctl set_room_affiliation "general" "conference.example.com" "jakonda@example.com" "member"

 

Удалить комнату  «general«, можно командой:

sudo -u ejabberd ejabberdctl destroy_room "general" "conference.example.com"

 

Более подробная документация по API находится на оф. сайте — https://docs.ejabberd.im/developer/ejabberd-api/admin-api/

 

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Оставить ответ

семь + 10 =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика