NewsService
Dieser eigene Server kann in Dein Netzwerk hinzugefügt werden und postet dann – auf Serverebene, das heißt ohne Lags oder Limitierungen, was die Möglichkeiten angeht – RSS-Feeds in eingestellte Channels.
Das gesamte Paket besteht aus drei Teilen:
- Eine MySQL-Datenbank (mit geringem Anpassungsaufwand kann man auch andere Datenbanken wie PostgreSQL verwenden), welche die Feedkonfiguration sowie die einzelnen Artikel der Feeds speichert. Keine Sorge: wenn man nicht so viele Daten in der Datenbank haben will (aus Platz-/Performancegründen) kann man natürlich auch nur die Artikel des heutigen Tages aufheben (oder ähnliche Konfigurationen).
- Ein PHP-Script, welches alle in der Datenbank konfigurierten Feeds abruft und die Artikel in die Datenbank speichert.
- Der IRC-Server, der ein paar simple Befehle bereitstellt und automatisch jede Minute die neusten Einträge aus der Datenbank ins IRC postet.
Warum ich von einem traditionellen Bot auf einen eigenen Server umgestiegen bin:
- Man hat beliebig viele Nicknames zur Verfügung (für jedes Feed einen eigenen Nickname).
- Die Kommunikation mit den restlichen Servern erfolgt um einiges schneller als bei Bots wie dem eggdrop.
- Der Programmieraufwand für die IRC-Schnittstelle ist vergleichsweise gering.
- Da der Server in C++ geschrieben ist und somit beim Kompilieren direkt in Maschinensprache gewandelt wird, ist er viel schneller als ein Bot, der mit Scripts arbeitet.
Befehle
NewsServ
Diese Befehle beziehen sich auf die komplette Datenbank.
- !search
Durchsucht alle Feeds nach den angegebenen Suchwörtern. Jedes Wort muss mindestens 3 Buchstaben haben, damit die Datenbank nicht zu sehr überlastet wird. - !listfeeds
Zeigt alle verfügbaren Feeds an - !stats
Zeigt Statistiken über alle Feeds an - !suggestfeed URL
Schickt das RSS-Feed unter der angegebenen URL als Vorschlag ein
Für jeden Bot
Diese Befehle beziehen sich jeweils nur auf das Feed, das der Bot wiederspiegelt.
- !latest
Listet die letzten 10 News auf. - !url
Zeigt die URL des RSS-Feeds an. - !stats
Zeigt Statistiken zu diesem RSS-Feed an. - !search
Durchsucht das Archiv nach den angegebenen Suchwörtern.
Systemvoraussetzungen
- MySQL 5.0
- mysql++-2.1.1
- PHP 4 oder höher (für das Script zum Übertragen der Feeds in die Datenbank)
Erfolgreich kompiliert habe ich die Software mit dem g++ 3.3.5.
Installation
- tar xfz mysql++
- cd mysql++
- ./configure && make
- # make install
- echo /usr/local/lib >> /etc/ld.so.conf && ldconfig
- tar xfz NewsServ
- cd NewsServ
- ./configure && make
