Пример #1
0
 def putevent(self, origin, channel, txt, event=None, wait=0, showall=False, nooutput=False):
     """ insert an event into the callbacks chain. """
     assert origin
     if event: e = cpy(event) ; e.addwaiting(event)
     else: e = EventBase()
     e.cbtype = "CMND"
     e.bot = self
     e.origin = origin
     e.ruserhost = origin
     e.auth = origin
     e.userhost = origin
     e.channel = channel
     e.txt = unicode(txt)
     e.nick = e.userhost.split('@')[0]
     e.usercmnd = e.txt.split()[0]
     e.iscommand = False
     #e.iscallback = False
     e.allowqueues = True
     e.onlyqueues = False
     e.closequeue = True
     e.showall = showall
     e.nooutput = nooutput
     e.wait = wait
     e.bind(self)
     self.put(e)
     return e
Пример #2
0
 def putevent(self,
              origin,
              channel,
              txt,
              event=None,
              wait=0,
              showall=False,
              nooutput=False):
     """ insert an event into the callbacks chain. """
     assert origin
     if event: e = cpy(event)
     else: e = EventBase()
     e.cbtype = "CMND"
     e.bot = self
     e.origin = origin
     e.ruserhost = origin
     e.auth = origin
     e.userhost = origin
     e.channel = channel
     e.txt = unicode(txt)
     e.nick = e.userhost.split('@')[0]
     e.usercmnd = e.txt.split()[0]
     e.iscommand = False
     #e.iscallback = False
     e.allowqueues = True
     e.onlyqueues = False
     e.closequeue = True
     e.showall = showall
     e.nooutput = nooutput
     e.wait = wait
     e.bind(self)
     self.put(e)
     return e
Пример #3
0
 def docmnd(self,
            origin,
            channel,
            txt,
            event=None,
            wait=0,
            showall=False,
            nooutput=False):
     """ do a command. """
     if event: e = cpy(event)
     else: e = EventBase()
     e.cbtype = "CMND"
     e.bot = self
     e.origin = origin
     e.ruserhost = origin
     e.auth = origin
     e.userhost = origin
     e.channel = channel
     e.txt = unicode(txt)
     e.nick = e.userhost.split('@')[0]
     e.usercmnd = e.txt.split()[0]
     #e.iscommand = True
     #e.iscallback = False
     e.allowqueues = True
     e.onlyqueues = False
     e.closequeue = True
     e.showall = showall
     e.nooutput = nooutput
     e.bind(self)
     #if wait: e.direct = True ; e.nothreads = True ; e.wait = wait
     if cmnds.woulddispatch(self, e) or e.txt[0] == "?":
         return self.doevent(e)
Пример #4
0
 def dostart(self, botname=None, bottype=None, *args, **kwargs):
     """ create an START event and send it to callbacks. """
     e = EventBase()
     e.bot = self
     e.botname = botname or self.cfg.name
     e.bottype = bottype or self.type
     e.origin = e.botname
     e.ruserhost = self.cfg.name +'@' + self.uuid
     e.userhost = e.ruserhost
     e.channel = botname
     e.origtxt = "%s.%s - %s" % (e.botname, e.bottype, str(time.time()))
     e.txt = e.origtxt
     e.cbtype = 'START'
     e.botoutput = False
     e.ttl = 1
     e.nick = self.cfg.nick or self.cfg.name
     self.doevent(e)
     logging.debug("%s - START event send to callbacks" % self.cfg.name)
Пример #5
0
 def dostart(self, botname=None, bottype=None, *args, **kwargs):
     """ create an START event and send it to callbacks. """
     e = EventBase()
     e.bot = self
     e.botname = botname or self.name
     e.bottype = bottype or self.type
     e.origin = botname
     e.ruserhost = self.botname + '@' + self.uuid
     e.userhost = e.ruserhost
     e.channel = botname
     e.origtxt = str(time.time())
     e.txt = e.origtxt
     e.cbtype = 'START'
     e.botoutput = False
     e.ttl = 1
     e.nick = self.nick or self.botname
     self.doevent(e)
     logging.debug("%s - START event send to callbacks" % botname)
Пример #6
0
 def outmonitor(self, origin, channel, txt, event=None):
     """ create an OUTPUT event with provided txt and send it to callbacks. """
     if event: e = cpy(event)
     else: e = EventBase()
     if e.status == "done":
         logging.debug("%s - outmonitor - event is done .. ignoring" % self.name)
         return
     e.bot = self
     e.origin = origin
     e.ruserhost = self.botname +'@' + self.uuid
     e.userhost = e.ruserhost
     e.auth = e.userhost
     e.channel = channel
     e.origtxt = txt
     e.txt = txt
     e.cbtype = 'OUTPUT'
     e.botoutput = True
     e.nodispatch = True
     e.ttl = 1
     e.nick = self.nick or self.botname
     e.bind(self)
     first_callbacks.check(self, e)
Пример #7
0
 def outmonitor(self, origin, channel, txt, event=None):
     """ create an OUTPUT event with provided txt and send it to callbacks. """
     if event: e = cpy(event)
     else: e = EventBase()
     if e.status == "done":
         logging.debug("%s - outmonitor - event is done .. ignoring" %
                       self.name)
         return
     e.bot = self
     e.origin = origin
     e.ruserhost = self.botname + '@' + self.uuid
     e.userhost = e.ruserhost
     e.auth = e.userhost
     e.channel = channel
     e.origtxt = txt
     e.txt = txt
     e.cbtype = 'OUTPUT'
     e.botoutput = True
     e.nodispatch = True
     e.ttl = 1
     e.nick = self.nick or self.botname
     e.bind(self)
     first_callbacks.check(self, e)
Пример #8
0
 def docmnd(self, origin, channel, txt, event=None, wait=0, showall=False, nooutput=False):
     """ do a command. """
     if event: e = cpy(event)
     else: e = EventBase()
     e.cbtype = "CMND"
     e.bot = self
     e.origin = origin
     e.ruserhost = origin
     e.auth = origin
     e.userhost = origin
     e.channel = channel
     e.txt = unicode(txt)
     e.nick = e.userhost.split('@')[0]
     e.usercmnd = e.txt.split()[0]
     #e.iscommand = True
     #e.iscallback = False
     e.allowqueues = True
     e.onlyqueues = False
     e.closequeue = True
     e.showall = showall
     e.nooutput = nooutput
     e.bind(self)
     #if wait: e.direct = True ; e.nothreads = True ; e.wait = wait
     if cmnds.woulddispatch(self, e) or e.txt[0] == "?": return self.doevent(e)