Advertisement
ijontichy

MessageListener

Sep 3rd, 2011
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. # -*- coding: utf-8 -*-
  4.  
  5. from . import baselistener
  6. from .. import ircresponse, ircmessage, ctcpmessage
  7.  
  8. class MessageListener(baselistener.BaseListener):
  9.  
  10.     def processLine(self, line):
  11.  
  12.         isCTCP   = False
  13.         isAction = False
  14.         channelMsg = ("[{}]<{}> {}", "[{}]<(ctcp){}> {}", "[{}] * {} {}")
  15.  
  16.         if not line:
  17.             return
  18.  
  19.         ret = ircresponse.IRCResponse(line)
  20.  
  21.         if ret.canBeMessage:
  22.             ret = ircmessage.IRCMessage(line)
  23.  
  24.             # Find message type
  25.             if msg.canBeCTCPMessage:
  26.                 isCTCP = True
  27.                 ret = ctcpmessage.CTCPMessage(line)
  28.  
  29.                 if ret.ctcpCommand == "ACTION":
  30.                     isAction = True
  31.                     endMsg   = ret.message
  32.                 else:
  33.                     endMsg   = ret.fullMessage
  34.  
  35.             else:
  36.                 endMsg = ret.message
  37.  
  38.  
  39.             pMsg = "{} " + channelMsg[isCTCP + isAction]
  40.             self.master.log(pMsg.format(ret.cTimestamp, ret.target, ret.source, endMsg))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement