Projekt:Rezeptionistin

Aus k4cg.org

Rezeptionistin

Der freundliche IRC Bot für #k4cg

Quellcode auf Github: https://github.com/k4cg/Rezeptionistin

Features

  • !gt - PING - antwortet mit "Ich lebe noch, %nick"
  • !kt - Zeigt aktuelle Temperatur in der K4CG
  • !help - Zeigt Hilfe, antwort im Query
  • URL Title - Fetcht den <title> von http(s)-Links und postet den Inhalt in den Channel #k4cg und in den MediaWiki

Usage

git clone https://github.com/k4cg/Rezeptionistin

Nach dem Klonen müssen die Abhängigkeiten installiert, und eine config.ini Datei angelegt werden.

cd rezeptionistin
pip install -r requirements.txt
cp config.ini.example config.ini

Configuration

Die Datei config.ini im gleichen Verzeichnis muss vor der Benutzung angepasst werden

[IRC]
server = irc.freenode.net
port = 6667
nick = Rezeptionistin
ircchan = #k4cg
debugchan = #k4cgdebug

[HTTP]
useragent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3

[MediaWiki]
wikiapiurl = https://k4cg.org/api.php
user = Rezeptionistin
password = passw0rd

Service

Der Service läuft auf troll.k4cg.org unter supervisor. Die supervisor Config sieht ungefähr so aus.

cat /etc/supervisor/conf.d/rezeptionistin.conf
[program:rezeptionistin]
directory=/home/k4cg/Code/Rezeptionistin
command=/home/k4cg/Code/Rezeptionistin/rezeptionistin.py
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/home/k4cg/Code/Rezeptionistin/logs/rezeptionistin.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/home/k4cg/Code/Rezeptionistin/logs/rezeptionistin.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment = HOME="/home/k4cg", USER="k4cg"

Sollte die Rezeptionistin aus irgendwelchen Gründen sterben, wird sie automatisch neugestartet.

Bewusst starten und stoppen mit

service supervisor {stop|start}

Deployment

Auf Host:troll.k4cg.org wie folgt updaten:

cd /home/k4cg/Code/Rezeptionistin
git pull origin master
supervisorctl restart rezeptionistin

Eventuelle fehler koennen mit

supervisorctl tail rezeptionistin 

betrachtet werden.