Example #1
0
def handle_fleetaddjabber(bot, ievent):
    """ fleed-addjabber <name> <host> <user> <password> [port] .. add jabber 
        bot to fleet.
    """
    try:
        import xmpp
    except ImportError:
        ievent.reply('xmpp is not enabled .. install the xmpppy package')
        return

    from gozerbot.jabber.jabberbot import Jabberbot

    if not bot.type == 'jabber':
        ievent.reply('use this command on a jabber bot (and change \
password if you used it)')
        return

    if ievent.groupchat:
        ievent.reply('use this command in a private message (and change \
password if you used it)')
        return

    length = len(ievent.args)

    if length == 5:
        (name, host, user, password, port) = ievent.args
    elif length == 4:
        (name, host, user, password) = ievent.args
        port = 5222
    else:
        ievent.missing('<name> <host> <user> <password> [<port>]')
        return

    if fleet.byname(name):
        ievent.reply('we already have a bot with %s name in fleet' % \
name)
        return

    if '--port' in ievent.optionset:
        port = ievent.options['--port']

    cfg = Config(datadir + os.sep + 'fleet' + os.sep + name, 'config')
    cfg['name'] = name
    cfg['type'] = 'jabber'
    cfg['host'] = host
    cfg['user'] = user
    cfg['password'] = password
    cfg['port'] = port
    cfg.save()
    b = fleet.makebot(name, cfg)

    try:
        ievent.reply('added %s bot' % name)
        fleet.addbot(b)
        ievent.reply('connecting to %s' % server)
        fleet.connect(name)
        ievent.reply('%s started' % name)
    except Exception, ex:
        ievent.reply(str(ex))
        fleet.delete(b)
Example #2
0
            return 0
        except AlreadyConnected:
            return 0
        except Exception, ex:
            self.connectlock.release()
            if self.stopped:
                return 0
            rlog(10, self.name, 'connecting error: %s' % str(ex))
            if reconnect:
                self.reconnect()
                return
            raise

        # add bot to the fleet
        if not fleet.byname(self.name):
            fleet.addbot(self)
        self.connectlock.release()
        return res

    def shutdown(self):
        """ shutdown the bot. """

        rlog(10, self.name, 'shutdown')
        self.stopoutputloop = 1
        self.stopped = 1
        time.sleep(1)
        self.tickqueue.put_nowait('go')
        self.close()
        self.connecting = False
        self.connected = False
        self.connectok.clear()
Example #3
0
import time
donot = ['quit', 'reboot', 'jump']
config.load()
oldlevel = config['loglevel']
config['loglevel'] = 1000
enable_logging()
startmaindb()
cfg = Config()
bot = Bot(cfg)
bot.channels.setdefault('#test', {})
bot.channels.setdefault('#dunkbots', {})
bot.userhosts['dunker'] = '*****@*****.**'
bot.userhosts['test'] = 'test@test'
bot.server = 'localhost'
bot.port = 6667
fleet.addbot(bot)
plugins.regplugins()
time.sleep(5)

try:
    users.add('test', [
        'test@test',
    ], ['OPER', 'USER', 'QUOTE', 'MAIL'])
except Exception, ex:
    pass

try:
    users.setemail('test', '*****@*****.**')
except Exception, ex:
    pass
Example #4
0
donot = ["quit", "reboot", "jump"]
config.load()
oldlevel = config["loglevel"]
config["loglevel"] = 1000
enable_logging()
startmaindb()
cfg = Config()
bot = Bot(cfg)
bot.channels.setdefault("#test", {})
bot.channels.setdefault("#dunkbots", {})
bot.userhosts["dunker"] = "*****@*****.**"
bot.userhosts["test"] = "test@test"
bot.server = "localhost"
bot.port = 6667
fleet.addbot(bot)
plugins.regplugins()
time.sleep(5)

try:
    users.add("test", ["test@test"], ["OPER", "USER", "QUOTE", "MAIL"])
except Exception, ex:
    pass

try:
    users.setemail("test", "*****@*****.**")
except Exception, ex:
    pass


def gendoc(f):
Example #5
0
def handle_fleetaddirc(bot, ievent):
    """ fleed-addirc <name> <nick> <server> [port] [passwd] [ipv6] .. add irc \
        bot to fleet.
    """

    from gozerbot.irc.bot import Bot
    length = len(ievent.args)

    if length == 7:
        (name, nick, server, ipv6, ssl, port, password) = ievent.args
    elif length == 6:
        (name, nick, server, ipv6, ssl, port) = ievent.args
        password = ""
    elif length == 5:
        (name, nick, server, ipv6, ssl) = ievent.args
        password = ""
        if ssl:
            port = 6697
        else:
            port = 6667
    elif length == 4:
        (name, nick, server, ipv6) = ievent.args
        password = ""
        ssl = 0
        port = 6667
    elif length == 3:
        (name, nick, server) = ievent.args
        port = 6667
        password = ""
        ssl = 0
        ipv6 = 0
    else:
        ievent.missing('<name> <nick> <server> [<ipv6>] [<ssl>] [<port>] \
[<password>]')
        return

    if fleet.byname(name):
        ievent.reply('we already have a bot with %s name in fleet' % \
name)
        return

    if '--port' in ievent.optionset:
        port = ievent.options['--port']

    cfg = Config(datadir + os.sep + 'fleet' + os.sep + name, 'config', \
fleetbotconfigtxt)
    cfg['name'] = name
    cfg['nick'] = nick
    cfg['server'] = server
    cfg['port'] = port
    cfg['password'] = password
    cfg['ipv6'] = ipv6
    cfg['ssl'] = ssl
    cfg.save()
    b = fleet.makebot(name, cfg)

    try:
        ievent.reply('adding bot: %s' % str(b))
        fleet.addbot(b)
        ievent.reply('connecting to %s' % server)
        fleet.connect(name)
        ievent.reply('%s started' % name)
    except Exception, ex:
        ievent.reply(str(ex))
        fleet.delete(b)
Example #6
0
def handle_fleetaddirc(bot, ievent):

    """ fleed-addirc <name> <nick> <server> [port] [passwd] [ipv6] .. add irc \
        bot to fleet.
    """

    from gozerbot.irc.bot import Bot
    length  = len(ievent.args)

    if length == 7:
        (name, nick, server, ipv6, ssl, port, password) = ievent.args
    elif length == 6:
        (name, nick, server, ipv6, ssl, port) = ievent.args
        password = ""
    elif length == 5:
        (name, nick, server, ipv6, ssl) = ievent.args
        password = ""
        if ssl:
           port = 6697
        else:
           port = 6667
    elif length == 4:
        (name, nick, server, ipv6) = ievent.args
        password = ""
        ssl = 0
        port = 6667
    elif length == 3:
        (name, nick, server) = ievent.args
        port = 6667
        password = ""
        ssl = 0
        ipv6 = 0
    else:
        ievent.missing('<name> <nick> <server> [<ipv6>] [<ssl>] [<port>] \
[<password>]')
        return

    if fleet.byname(name):
        ievent.reply('we already have a bot with %s name in fleet' % \
name)
        return

    if '--port' in ievent.optionset:
        port = ievent.options['--port']

    cfg = Config(datadir + os.sep + 'fleet' + os.sep + name, 'config', \
fleetbotconfigtxt)
    cfg['name'] = name
    cfg['nick'] = nick
    cfg['server'] = server
    cfg['port'] = port
    cfg['password'] = password
    cfg['ipv6'] = ipv6
    cfg['ssl'] = ssl
    cfg.save()
    b = fleet.makebot(name, cfg)

    try:
        ievent.reply('adding bot: %s' % str(b))
        fleet.addbot(b)
        ievent.reply('connecting to %s' % server)
        fleet.connect(name)
        ievent.reply('%s started' % name)
    except Exception, ex:
        ievent.reply(str(ex))
        fleet.delete(b)
Example #7
0
def handle_fleetaddjabber(bot, ievent):

    """ fleed-addjabber <name> <host> <user> <password> [port] .. add jabber 
        bot to fleet.
    """
    try:
        import xmpp
    except ImportError:
        ievent.reply('xmpp is not enabled .. install the xmpppy package')
        return

    from gozerbot.jabber.jabberbot import Jabberbot

    if not bot.type == 'jabber':
        ievent.reply('use this command on a jabber bot (and change \
password if you used it)')
        return

    if ievent.groupchat:
        ievent.reply('use this command in a private message (and change \
password if you used it)')
        return

    length  = len(ievent.args)

    if length == 5:
        (name, host, user, password, port) = ievent.args
    elif length == 4:
        (name, host, user, password) = ievent.args
        port = 5222
    else:
        ievent.missing('<name> <host> <user> <password> [<port>]')
        return

    if fleet.byname(name):
        ievent.reply('we already have a bot with %s name in fleet' % \
name)
        return

    if '--port' in ievent.optionset:
        port = ievent.options['--port']

    cfg = Config(datadir + os.sep + 'fleet' + os.sep + name, 'config')
    cfg['name'] = name
    cfg['type'] = 'jabber'
    cfg['host'] = host
    cfg['user'] = user
    cfg['password'] = password
    cfg['port'] = port
    cfg.save()
    b = fleet.makebot(name, cfg)

    try:
        ievent.reply('added %s bot' % name)
        fleet.addbot(b)
        ievent.reply('connecting to %s' % server)
        fleet.connect(name)
        ievent.reply('%s started' % name)
    except Exception, ex:
        ievent.reply(str(ex))
        fleet.delete(b)
Example #8
0
            return 0 
        except AlreadyConnected:
            return 0
        except Exception, ex:
            self.connectlock.release()
            if self.stopped:
                return 0
            rlog(10, self.name, 'connecting error: %s' % str(ex))
            if reconnect:
                self.reconnect()
                return
            raise

        # add bot to the fleet
        if not fleet.byname(self.name):
            fleet.addbot(self)
        self.connectlock.release()
        return res

    def shutdown(self):

        """ shutdown the bot. """

        rlog(10, self.name, 'shutdown')
        self.stopoutputloop = 1
        self.stopped = 1
        time.sleep(1)
        self.tickqueue.put_nowait('go')
        self.close()
        self.connecting = False
        self.connected = False