示例#1
0
文件: core.py 项目: krebscode/Reaktor
def main():
  import sys
  from docopt import docopt
  from docopt import docopt
  args = docopt(__doc__)
  conf = args['CONFIG'] if args['CONFIG'] else default_config
  getconf = make_getconf(conf)
  logging.basicConfig(level = logging.DEBUG if getconf('debug') else
          logging.INFO)
  log.debug("Debug enabled")

  if args['run']:
    Reaktor(conf,getconf)
    loop()
  elif args['get-config']:
    print(open(conf).read())
示例#2
0
文件: core.py 项目: krebs/painload
def main():
    import sys
    from docopt import docopt
    from docopt import docopt
    args = docopt(__doc__)
    conf = args['CONFIG'] if args['CONFIG'] else default_config
    getconf = make_getconf(conf)
    logging.basicConfig(
        level=logging.DEBUG if getconf('debug') else logging.INFO)
    log.debug("Debug enabled")

    if args['run']:
        Reaktor(conf, getconf)
        loop()
    elif args['get-config']:
        print(open(conf).read())
示例#3
0
文件: core.py 项目: krebscode/Reaktor
  def __init__(self,config=default_config,getconf=None):
    self.config = config

    if not getconf:
        self.getconf = make_getconf(self.conf)
    else:
        self.getconf = getconf
    log.info("using config file %s"%(config))

    asybot.__init__(self,
                getconf('irc_server'),
                getconf('irc_port'),
                getconf('irc_nickname'),
                getconf('irc_channels'),
                hammer_interval=getconf('irc_hammer_interval'),
                alarm_timeout=getconf('irc_alarm_timeout'),
                kill_timeout=getconf('irc_kill_timeout'))
示例#4
0
文件: core.py 项目: krebs/painload
    def __init__(self, config=default_config, getconf=None):
        self.config = config

        if not getconf:
            self.getconf = make_getconf(self.conf)
        else:
            self.getconf = getconf
        log.info("using config file %s" % (config))

        asybot.__init__(self,
                        getconf('irc_server'),
                        getconf('irc_port'),
                        getconf('irc_nickname'),
                        getconf('irc_channels'),
                        hammer_interval=getconf('irc_hammer_interval'),
                        alarm_timeout=getconf('irc_alarm_timeout'),
                        kill_timeout=getconf('irc_kill_timeout'))
示例#5
0
文件: core.py 项目: krebscode/Reaktor
  def on_privmsg(self, prefix, command, params, rest):
    if not ( self.nickname == self.getconf('name')):
        # reload config if the name changed
        # TODO: this sucks, use another sidechannel to tell config the new
        # nickname
        log.debug("nickname differs ('{}' to '{}')".format(
                    self.nickname, self.getconf('name')))

        os.environ['REAKTOR_NICKNAME'] = self.nickname
        self.getconf = make_getconf(self.config)
        log.info('nickname changed to {}'.format(self.getconf('name')))

    for command in self.getconf('commands'):
      y = match(command['pattern'], rest)
      if y:
        if not self.is_admin(prefix):
          self.PRIVMSG(params,'unauthorized!')
        else:
          return self.execute_command(command, y, prefix, params)

    for command in self.getconf('public_commands'):
      y = match(command['pattern'], rest)
      if y:
        return self.execute_command(command, y, prefix, params)
示例#6
0
文件: core.py 项目: krebs/painload
    def on_privmsg(self, prefix, command, params, rest):
        if not (self.nickname == self.getconf('name')):
            # reload config if the name changed
            # TODO: this sucks, use another sidechannel to tell config the new
            # nickname
            log.debug("nickname differs ('{}' to '{}')".format(
                self.nickname, self.getconf('name')))

            os.environ['REAKTOR_NICKNAME'] = self.nickname
            self.getconf = make_getconf(self.config)
            log.info('nickname changed to {}'.format(self.getconf('name')))

        for command in self.getconf('commands'):
            y = match(command['pattern'], rest)
            if y:
                if not self.is_admin(prefix):
                    self.PRIVMSG(params, 'unauthorized!')
                else:
                    return self.execute_command(command, y, prefix, params)

        for command in self.getconf('public_commands'):
            y = match(command['pattern'], rest)
            if y:
                return self.execute_command(command, y, prefix, params)