XMPP client installation: XMPP history alternative chat tool prosody server software federation no centralisation, it is possible to make xmpp accounts on self hosting servers that can then talk to each other. there are also companies which can host accounts on their servers --- Install XMPP client Find and get a client of your taste (Suggestions: Android&Conversations (free in fdroid), Linux&Gajim, Mac&Gajim, iOS&ChatSecure, Windows&Gajim, linux&mac, http://www.profanity.im/, chromeOS :https://github.com/dodo/chrome-xmpp, Mac: https://pidgin.im/ ) https://homebrewserver.club//picking-modern-xmpp-clients.html To install f-droid: www.f-droid.org , you can download from the phone XMPP acount on complex.local We will register an account on the XMPP server at complex.local. This can be done from your client. Register an account on complex.local. For some reason, registering only works with the ip-address Example: username@192.168.73.188 (with gajim if it does not work try without @192.168.73.188) Server: 192.168.73.188 Username: yourname MUC's Join the general public MUC (MUC=multi user chat), which is called "welcome". Select "Join group chat" and join welcome@muc.complex.local Room: welcome Server: muc.complex.local There is another room called 'updates': Room: updates Server: muc.complex.local To make a new muc: roomname@muc.complex.local bots At the moment there is one bot along us. It's the printing-bot, that listens in the muc updates@muc.complex.local Any message send to this groupchat will be printed by the bot. The fetcher (one of the special tasks) will make sure that the printed messages will be put on the walls of the cafe. The code of the bot is on complex.local/xmpp-bots/printing-bot. Reading suggestion If in need for more detailed directions, have a look at the homebrew server club guide: https://homebrewserver.club/have-you-considered-the-alternative.html https://homebrewserver.club/beginners-guide-to-xmpp-speak.html --- xmpp notes: xmpp * modules http://prosody.im/doc/modules + https://modules.prosody.im/ * extentions http://prosody.im/doc/xeplist * For logging: http://modules.prosody.im/mod_message_logging.html and or http://modules.prosody.im/mod_muc_log.html * example xmpp bot: https://git.bleu255.com/rms/log.html * for python use sleekxmpp: https://github.com/fritzy/SleekXMPP Bots session * enable mod_muc_log: https://modules.prosody.im/mod_muc_log.html $ cd /etc/prosody $ sudo nano prosody.cfg.lua add "muc_log" to ......... $ sudo prosodyctl restart * use muc_log_http: https://modules.prosody.im/mod_muc_log_http.html $ cd /etc/prosody $ sudo nano prosody.cfg.lua add "muc_log_http"; >>> didn't work for us * read the logs: $ cd /var/ ???????? welcome bot https://gitlab.com/relearn/relearn2017 (soon) $ pip install argparse logging sleekxmpp pyasn1 pyasn1_modules * step 1: make a bot account (bot@domain.org) * step 2: invite the bot to the muc * step 3: run the bot from your terminal $ python relearn.py -j bot@domain.org -p entrepot -m example@muc.domain.org -j = jabber id -p = password -m = muc Possible role of the bots * interventionists on top of the etherpad * For example: can a bot be a collector-tool? Where you could send interesting parts of the pads to? Or pictures? People can start a muc for a specific collection, and start adding items to it. The bot takes them from the pads (or from a file), following the padname + line number. It copies the content and places it into a .md file. (This file can be pandoced to html/pdf/...etc!) sleekxmpp For the bots we use the library SleepXMPP. * documentation: https://github.com/fritzy/SleekXMPP/wiki * website: http://sleekxmpp.readthedocs.io/en/latest/ * list of events (triggers): http://sleekxmpp.readthedocs.io/en/latest/event_index.html * introduction to muc bots: http://sleekxmpp.readthedocs.io/en/latest/getting_started/muc.html XMPP Vocabulary * stanza: "In XMPP, data is sent over a pair of XML streams. The root element for both of these streams is , and any direct children of this element are referred to as stanzas. A stanza is just a chunk or fragment of XML sent during any XMPP communications. There are three main types of stanzas: * (See Stanzas: Message) * (See Stanzas: Presence) * (See Stanzas: Iq)" From: https://github.com/fritzy/SleekXMPP/wiki/Stanza-Objects Questions * how is "self" used in python classes? https://docs.python.org/3/tutorial/classes.html * How are the users bot & rms related to eachother?