# 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/BasePlugin.py
# class BasePlugin:
#     def __init__(self, bot, options):
#         self.bot = bot
# 
#     def activate(self, channel=None):
#         """
#         Called when the plugin is activated.
#         """
#         return True
# 
#     def deactivate(self, channel=None):
#         """
#         Called when the plugin is deactivated.
#         """
#         return True
# 
#     # Event handlers for other users
#     def user_join(self, channel, username):
#         pass
# 
#     def user_part(self, channel, username):
#         pass
# 
#     def user_kicked(self, channel, username, kicker, message=""):
#         pass
# 
#     def user_quit(self, username, reason=""):
#         pass
# 
#     def user_nickchange(self, username, newname):
#         pass
# 
#     # Event handlers for this bot
#     def bot_connect(self):
#         pass
# 
#     def bot_join(self, channel):
#         pass
# 
#     def bot_part(self, channel):
#         pass
# 
#     def bot_kicked(self, channel, kicker="", reason=""):
#         pass
# 
#     def bot_disconnect(self):
#         pass
# 
# 
#     # Event handlers for incoming messages
#     def msg_channel(self, channel, user, message):
#         pass
# 
#     def msg_action(self, channel, user, message):
#         pass
# 
#     def msg_private(self, user, message):
#         pass
# 
#     def msg_notice(self, user, message):
#         pass
# 
#     # Event handlers for channel information replies
#     def channel_names(self, channel, nameslist):
#         pass
# 
#     def channel_topic(self, channel, user, topic):
#         pass
# 
#     # Other system event handlers
#     def timer_tick(self):
#         pass


from pyGBot import log
from pyGBot import format
from pyGBot.BasePlugin import BasePlugin
from HTMLParser import HTMLParser, HTMLParseError
from htmlentitydefs import name2codepoint
from urllib import quote, urlencode
from urllib2 import urlopen, URLError
import re
import json
                    changed.
                wikiBase: URI to access the articles on the wiki website. This
                    and the article title are appended to wikiUrl to get each
                    article's URL. Only some websites need this changed.
                maxMessageSize: Obsolete, no longer used. Maximum message length
                    that can be sent over IRC.
                shortUrl: Whether to shorten URLs sent over IRC using TinyURL
                    is.gd. Should be either "True" or "False".

    III) To create Commands for two or more different MediaWiki sites:
        1) Follow the instructions in II) above. You can use the wiki website
           configured there with the Command plugin for one MediaWiki website.
        2) To make commands for other MediaWiki websites, take a look at the
           "WikiCustom.py" file in Plugins/system/CommandSpec. You can copy
           this file, rename it, rename the WikiCustom class inside it and
           customise it for the MediaWiki website; it basically has the same
           configuration settings as the ones starting with wiki- in Step 3)
           above.
        3) Configure your custom command in the same way as Part I) Step 4)
           above, replacing "wp" with the command you want IRC users to use and
           "Wiki" with the name of your custom Command class/file.

    Although the functionality is provided, using custom-written commands is
    at your own discretion. It is not officially supported.

    Dependencies:
    - system.Commands plugin
    - system.CommandSpec.Wiki command (or a custom command script)
    """
    def __init__(self, bot, options):

# 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/BasePlugin.py
# class BasePlugin:
#     def __init__(self, bot, options):
#         self.bot = bot
# 
#     def activate(self, channel=None):
#         """
#         Called when the plugin is activated.
#         """
#         return True
# 
#     def deactivate(self, channel=None):
#         """
#         Called when the plugin is deactivated.
#         """
#         return True
# 
#     # Event handlers for other users
#     def user_join(self, channel, username):
#         pass
# 
#     def user_part(self, channel, username):
#         pass
# 
#     def user_kicked(self, channel, username, kicker, message=""):
#         pass
# 
#     def user_quit(self, username, reason=""):
#         pass
# 
#     def user_nickchange(self, username, newname):
#         pass
# 
#     # Event handlers for this bot
#     def bot_connect(self):
#         pass
# 
#     def bot_join(self, channel):
#         pass
# 
#     def bot_part(self, channel):
#         pass
# 
#     def bot_kicked(self, channel, kicker="", reason=""):
#         pass
# 
#     def bot_disconnect(self):
#         pass
# 
# 
#     # Event handlers for incoming messages
#     def msg_channel(self, channel, user, message):
#         pass
# 
#     def msg_action(self, channel, user, message):
#         pass
# 
#     def msg_private(self, user, message):
#         pass
# 
#     def msg_notice(self, user, message):
#         pass
# 
#     # Event handlers for channel information replies
#     def channel_names(self, channel, nameslist):
#         pass
# 
#     def channel_topic(self, channel, user, topic):
#         pass
# 
#     # Other system event handlers
#     def timer_tick(self):
#         pass


# Path: pyGBot/Plugins/reference/Wiki.py
from pyGBot import log
from pyGBot import format
from pyGBot.BasePlugin import BasePlugin
from HTMLParser import HTMLParser, HTMLParseError
from htmlentitydefs import name2codepoint
from urllib import quote, urlencode
from urllib2 import urlopen, URLError
import re
import json

                    changed.
                wikiBase: URI to access the articles on the wiki website. This
                    and the article title are appended to wikiUrl to get each
                    article's URL. Only some websites need this changed.
                maxMessageSize: Obsolete, no longer used. Maximum message length
                    that can be sent over IRC.
                shortUrl: Whether to shorten URLs sent over IRC using TinyURL
                    is.gd. Should be either "True" or "False".

    III) To create Commands for two or more different MediaWiki sites:
        1) Follow the instructions in II) above. You can use the wiki website
           configured there with the Command plugin for one MediaWiki website.
        2) To make commands for other MediaWiki websites, take a look at the
           "WikiCustom.py" file in Plugins/system/CommandSpec. You can copy
           this file, rename it, rename the WikiCustom class inside it and
           customise it for the MediaWiki website; it basically has the same
           configuration settings as the ones starting with wiki- in Step 3)
           above.
        3) Configure your custom command in the same way as Part I) Step 4)
           above, replacing "wp" with the command you want IRC users to use and
           "Wiki" with the name of your custom Command class/file.

    Although the functionality is provided, using custom-written commands is
    at your own discretion. It is not officially supported.

    Dependencies:
    - system.Commands plugin
    - system.CommandSpec.Wiki command (or a custom command script)
    """
    def __init__(self, bot, options):

        BasePlugin.__init__(self, bot, options)