Der Bot benötigt Python 2 und basiert auf "Willie" welcher unverändert als Git-Submodul eingebunden ist. Hinzugefügt wurden mehrere Plugins (Haupt-Modul: "ffpb") und ein Startup-Skript.
Der Bot geht davon aus, dass er in einem "Maschinenraum"-IRC-Channel arbeitet - kann jedoch zusätzlich Informationen in einem öffentlichen Kanal bereitstellen. Die im Bot konfigurierten Admins haben erweiterte Berechtigungen auch in den ffpb-Plugins, wie z.B. Remote-Execution auf allen Knoten (sofern der SSH-Key des Bots dort hinterlegt ist).
!status
!highscore
!info <peer>
!link <peer>
!ping <peer>
!exec-on-peer <peer> <command>
(hierzu muss der SSH-Key des Bots auf dem Knoten hinterlegt sein)!monitor add <peer>
bzw. !monitor del <peer>
!reload ffpb
!msg #channel Nachricht
Stellt Kern-Funktionalitäten bereit wie z.B. die periodische Abfrage der aktuellen ALFRED-Daten, Mapping von Name/MAC zu Knoten-Info, etc.
Monitoring-Funktionen - periodischer Ping von Knoten sowie das Management-Kommando !monitor
.
Funktionen, die den Status des Netzwerks betreffen - z.B. !status
und !highscore
.
Funktionen, die Auskunft über einzelne Knoten geben - z.B. !info
und !mesh
.
Dieses Git-Repository wird an beliebiger Stelle geklont (diese Dokumentation geht von /opt/ffpb-statusbot aus):
git clone --recursive https://git.c3pb.de/freifunk-pb/status-bot.git /opt/ffpb-statusbot
Der Bot hat Abhängigkeiten:
apt-get install python-pip python-netaddr python-urllib2
pip install "GitPython>=0.3.2.RC1"
Das Start-Up-Skript erfordert einen der Parameter "start" oder "stop" und eignet sich als Init-Skript:
ln -s /opt/ffpb-statusbot/bot.sh /etc/init.d/ffpb-statusbot
update-rc.d ffpb-statusbot enable
Die Datei bot.cfg.example
enthält eine Beispiel-Konfiguration und muss für die Benutzung nach bot.cfg
kopiert und angepasst werden. Die wichtigsten Parameter sind nachfolgend erklärt:
Willie-Standardkonfiguration (siehe auch)
Parameter | Typ | Beschreibung |
---|---|---|
nick | String | Nickname des Bots |
user | String | Benutzername gegenüber dem IRC-Server |
name | String | "Real Name" des Bots im IRC |
host | String | Host des IRC-Servers |
port | Integer | Port des IRC-Servers |
owner | String | Nickname des Besitzer des Bots |
admins | Liste | weiterer Bot-Admins (kommasepariert, keine Leerzeichen um das Komma setzen!) |
channels | Liste | IRC-Channel die der Bot betritt |
Parameter für das ffpb-Zusatzmodul
Parameter | Typ | Beschreibung |
---|---|---|
msg_enable | Boolean | Soll der Messaging-Server aktiviert werden? |
msg_port | Integer | TCP-Port auf dem der Messaging-Server lauscht (Default = 2342) |
msg_target | String | Nutzer/Raum zu dem die Messaging-Zeilen geschickt werden |