Objekt-Orientierter IRC Bot

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

Hallo,
Ich wollte ein bisschen mit der python-irclib herumexperimentieren, das klappt auch ganz gut aber ich wollte nun meinen Bot Objekt-Orientiert gestalten.

Leider fällt mir irgendwie nicht ein wie ich das sinvoll anstellen soll.
Angenommen ich habe eine Klasse die so aussieht:

Code: Alles auswählen

import irclib

class IRCBot(object):
    def __init__():
        self.irc = irclib.IRC()
        self.server = self.irc.server()
Dann wäre das logischte ja erstmal eine connect Methode auf die Beine zu stellen:

Code: Alles auswählen

    def connect(self, server, port, nickname, name, password=None):
        if password != None:
            self.server.connect(server, port, nickname, name, password)
        else:
            self.server.connect(server, port, nickname, name)
Ganz abgesehen davon das ich die Argumente völlig falsch übergeben habe und das das hier nur der Verdeutlichung dienen soll kapsele ich doch eigentlich nur die Funktionen die bereits in der irclib vorhanden sind so das ich nachher Objekt-Orientiert darauf zugreifen kann.

Gibt es da einen effektiveren intelligenteren Weg das ganze zu strukturieren? Eventuell mach ich etwas auch ziemlich dumm und ihr kennt einen besseren Weg.

MfG,
CracKPod
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Hat dass einen speziellen Grund wieso du nicht gleich ircbot nimmst?
btw. Schau dir mal testbot.py an.
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

Aaahh dankeschön. IRCBot.py ist dann sowas wie einfach eine Botklasse die die Python-IRCLib benutzt, oder?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Crazed hat geschrieben:Aaahh dankeschön. IRCBot.py ist dann sowas wie einfach eine Botklasse die die Python-IRCLib benutzt, oder?
Ja genau. Du reagierst dann nur noch auf bestimmte Aktionen usw. das macht alles etwas einfacher.
Antworten