# Path: pyGBot/log.py
# def addScreenHandler(logobj, format):
# def addLogFileHandler(logobj, filename, format):
# 
# Path: pyGBot/format.py
# NUL = chr(0)
# CR = chr(0x0D)
# NL = chr(0x0A)
# LF = NL
# CRLF = CR + LF
# SPC = chr(0x20) # space
# BOLD = chr(2)
# COLOR = chr(3)
# ITALIC = chr(0x16)
# REV = ITALIC # reversed colors - italic or reversed display is client-dependent
# UNDER = chr(0x1f)
# CLEAR = chr(0x0f)
# RE_COLOR  = re.compile(r'\x03(\d{1,2}(,\d{1,2})?)?')
# RE_FORMAT = re.compile('|'.join([BOLD, COLOR, ITALIC, UNDER, CLEAR]))
# def strip(msg):
# def stripcolors(msg):
# def color(fg=None, bg=None):
# def encodeOut(msg):
# def decodeIn(msg):
# 
# Path: pyGBot/PluginEvents.py
# class PluginEvents(Events):
#     __events__ = ('user_join','user_part','user_kicked','user_quit','user_nickchange',
#                   'bot_connect', 'bot_join', 'bot_kicked','bot_disconnect',
#                   'msg_channel', 'msg_action', 'msg_private', 'msg_notice',
#                   'channel_names', 'channel_topic', 'timer_tick')


from contrib.configobj import ConfigObj, ConfigObjError
from pyGBot import log, format
from pyGBot.PluginEvents import PluginEvents
    from twisted import __version__ as twistedversion
    from twisted.protocols import irc
    from twisted.words.protocols import irc
from twisted.internet import reactor, protocol, task
            from twisted.internet import ssl
import sys
import time
import threading
import logging
        msgOut = format.encodeOut(msg)
        channelOut = format.encodeOut(channel)
        self.describe(channel=channelOut, action=msgOut)

        # strip color codes
        log.chatlog.info('[ACT->%s]%s' % (channelOut, format.strip(msgOut)))

    def modestring(self, target, modestring):
        """ Set a mode string on a user or channel. """
        self.sendLine("MODE %s %s" % (target, modestring))

        log.chatlog.info('[MODE] %s %s' % (target, modestring))

    def changenick(self, newnick):
        newnickOut = format.encodeOut(newnick)
        self.setNick(newnickOut)

    def cprivmsg(self, channel, user, msg):
        """ Send a CPRIVMSG. This allows channel ops to bypass server flood
        limits when messaging users in their channel. """
        msgOut = format.encodeOut(msg)
        userOut = format.encodeOut(user)
        channelOut = format.encodeOut(channel)
        self.sendLine("CPRIVMSG %s %s :%s" % (userOut, channelOut, msgOut,))

    def cnotice(self, channel, user, message):
        """ Send a CNOTICE. This allows channel ops to bypass server flood
        limits when sending a notice to users in their channel. """
        msgOut = format.encodeOut(msg)
        userOut = format.encodeOut(user)

# Path: pyGBot/log.py
# def addScreenHandler(logobj, format):
# def addLogFileHandler(logobj, filename, format):
# 
# Path: pyGBot/format.py
# NUL = chr(0)
# CR = chr(0x0D)
# NL = chr(0x0A)
# LF = NL
# CRLF = CR + LF
# SPC = chr(0x20) # space
# BOLD = chr(2)
# COLOR = chr(3)
# ITALIC = chr(0x16)
# REV = ITALIC # reversed colors - italic or reversed display is client-dependent
# UNDER = chr(0x1f)
# CLEAR = chr(0x0f)
# RE_COLOR  = re.compile(r'\x03(\d{1,2}(,\d{1,2})?)?')
# RE_FORMAT = re.compile('|'.join([BOLD, COLOR, ITALIC, UNDER, CLEAR]))
# def strip(msg):
# def stripcolors(msg):
# def color(fg=None, bg=None):
# def encodeOut(msg):
# def decodeIn(msg):
# 
# Path: pyGBot/PluginEvents.py
# class PluginEvents(Events):
#     __events__ = ('user_join','user_part','user_kicked','user_quit','user_nickchange',
#                   'bot_connect', 'bot_join', 'bot_kicked','bot_disconnect',
#                   'msg_channel', 'msg_action', 'msg_private', 'msg_notice',
#                   'channel_names', 'channel_topic', 'timer_tick')


# Path: pyGBot/core.py
from contrib.configobj import ConfigObj, ConfigObjError
from pyGBot import log, format
from pyGBot.PluginEvents import PluginEvents
    from twisted import __version__ as twistedversion
    from twisted.protocols import irc
    from twisted.words.protocols import irc
from twisted.internet import reactor, protocol, task
            from twisted.internet import ssl
import sys
import time
import threading
import logging

        msgOut = format.encodeOut(msg)
        channelOut = format.encodeOut(channel)
        self.describe(channel=channelOut, action=msgOut)

        # strip color codes
        log.chatlog.info('[ACT->%s]%s' % (channelOut, format.strip(msgOut)))

    def modestring(self, target, modestring):
        """ Set a mode string on a user or channel. """
        self.sendLine("MODE %s %s" % (target, modestring))

        log.chatlog.info('[MODE] %s %s' % (target, modestring))

    def changenick(self, newnick):
        newnickOut = format.encodeOut(newnick)
        self.setNick(newnickOut)

    def cprivmsg(self, channel, user, msg):
        """ Send a CPRIVMSG. This allows channel ops to bypass server flood
        limits when messaging users in their channel. """
        msgOut = format.encodeOut(msg)
        userOut = format.encodeOut(user)
        channelOut = format.encodeOut(channel)
        self.sendLine("CPRIVMSG %s %s :%s" % (userOut, channelOut, msgOut,))

    def cnotice(self, channel, user, message):
        """ Send a CNOTICE. This allows channel ops to bypass server flood
        limits when sending a notice to users in their channel. """
        msgOut = format.encodeOut(msg)
        userOut = format.encodeOut(user)

        channelOut = format.encodeOut(channel)