CmdBot ist ein IRC-Bot mit cmd Haltung.
Warum, oh, warum!
tl; dr: weil ich es brauchte.
Jetzt mit dem eigentlichen Grund ...
Ja, ja, ja, ich weiß. "Ein weiterer IRC Bot" ... Aber warum oh oh, warum, warum haben Sie brauchen, um eine neue zu machen? Es gibt Unmengen von ihnen: SupyBot phenny und die super-hyper Hubot ... Hier ist der Deal, oder? Es gibt eine Menge von Bots, aber alle von ihnen saugen an eines: Erinnern. Üblicherweise werden diese Bots nur wissen, wie man kleine Aufgaben, die nur eine Tischtennisplatte und einen zurück mit der Antwort verlangen durchzuführen. Nachdem ich diese Aufgabe, Ihre Frage und die Antwort sind weg, und der Bot vergisst darüber.
Hier war meine Herausforderung: Ich wollte ein Bot, der eine kleine IRC- basiertes Spiel umgehen konnte, mit mehreren Spielern, eine Teilmenge von Regeln, Würfeln und hält Noten während des Spiels, und ein Gewinner zu hacken, wenn der Wert von einem Spieler wurde erreicht das ziel. Um dies zu erreichen, muss Ihr bot ein Gehirn.
Der Fall Hubot
Ich habe versucht, es mit Hubot bauen, und seine Hubot-irc-Adapter. Aber ich habe drei volle Abende versuchen, damit es funktioniert hat, ohne Erfolg. Meine Fehlerbericht führen, es zu lösen. Es könnte in der Zukunft ändern, aber mein Knoten-js Fähigkeiten sind nahe Null, und mein Javascript ist etwas über diesem Niveau.
Ich brauchte, um erfolgreich zu sein. Der Aufbau einer "dummen" IRC-Bot ist ganz einfach. Es gibt Unmengen von Beispielen die Sie im Internet finden. Sie können diese Bots, indem ein Plugin-System, wie Supybot oder phenny zu erweitern. Aber das ist nicht gut für meine Anwendung, weil es "nur" besteht aus einem ephemereal Callback-Funktion. Ich brauchte ein "intelligenter" bot.
Die Einführung CmdBot
Hier ist mein nehmen. Es ist weit davon entfernt, 100% perfekt, aber ich denke, es vereint das Beste aus Pythons Introspektion Mechanismus.
By the way, warum der Name "CmdBot"? Da ihre Funktion Ladesystem wurde von der Pythons cmd Modul, das Klassenmitglied Introspektion verwendet, um die vorgesehenen Funktionen zu fangen und führen sie inspiriert
Anforderungen .
- Python
Kommentare nicht gefunden