diff --git a/useful_functions/.bash_aliases b/useful_functions/.bash_aliases new file mode 100644 index 0000000..a653656 --- /dev/null +++ b/useful_functions/.bash_aliases @@ -0,0 +1,52 @@ + +xmpp_user_rooms_count() { + sudo -u ejabberd ejabberdctl get_user_rooms ${1} chapril.org | wc -l +} +xmpp_user_contacts_count() { + sudo -u ejabberd ejabberdctl get_roster ${1} chapril.org | wc -l +} +xmpp_user_info() { + echo "${1}:$(xmpp_user_contacts_count ${1}):$(xmpp_user_rooms_count ${1})" +} + +xmpp_users() { + for user in $(sudo -u ejabberd ejabberdctl registered_users chapril.org); do + xmpp_user_info "${user}" + done +} + +xmpp_ban_user_by_patern() { + LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl kick_user $ADDRESS chapril.org + sudo -u ejabberd ejabberdctl unregister $ADDRESS chapril.org + echo Done with $ADDRESS + done +} + +xmpp_send_server_notice() { + sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org \ + chapril.org/announce/online "Annonce du Serveur" "${1}" +} + +xmpp_send_server_notice_to_connected() { + LIST=$(sudo -u ejabberd ejabberdctl connected_users_info | cut -f 1 | cut -d "/" -f 1 | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl send_message headline chapril.org "$ADDRESS" "Annonce du Serveur" "${2}" + echo Done with $ADDRESS + done +} + +xmpp_send_server_notice_by_pattern() { + LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl send_message headline chapril.org "$ADDRESS" "Annonce du Serveur" "${2}" + echo Done with $ADDRESS + done +} diff --git a/useful_functions/functions.sh b/useful_functions/functions.sh new file mode 100644 index 0000000..85caa5b --- /dev/null +++ b/useful_functions/functions.sh @@ -0,0 +1,52 @@ + +xmpp_user_rooms_count() { + sudo -u ejabberd ejabberdctl get_user_rooms ${1} chapril.org | wc -l +} +xmpp_user_contacts_count() { + sudo -u ejabberd ejabberdctl get_roster ${1} chapril.org | wc -l +} +xmpp_user_info() { + echo "${1}:$(xmpp_user_contacts_count ${1}):$(xmpp_user_rooms_count ${1})" +} + +xmpp_users() { + for user in $(sudo -u ejabberd ejabberdctl registered_users chapril.org); do + xmpp_user_info "${user}" + done +} + +xmpp_ban_users() { + LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl kick_user $ADDRESS chapril.org + sudo -u ejabberd ejabberdctl unregister $ADDRESS chapril.org + echo Done with $ADDRESS + done +} + +xmpp_send_server_notice_all() { + sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org \ + chapril.org/announce/online "Annonce du Serveur" "${1}" +} + +xmpp_send_server_notice_connected() { + LIST=$(sudo -u ejabberd ejabberdctl connected_users_info | cut -f 1 | cut -d "/" -f 1 | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl send_message headline chapril.org "$ADDRESS" "Annonce du Serveur" "${2}" + echo Done with $ADDRESS + done +} + +xmpp_send_server_notice() { + LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq) + + for ADDRESS in $LIST + do + sudo -u ejabberd ejabberdctl send_message headline chapril.org "${ADDRESS}@chapril.org" "Annonce du Serveur" "${2}" + echo Done with $ADDRESS + done +}