|
- # -*- coding: utf-8 -*-
-
- # A base class for commands on IRC.
-
- class BaseCommand(object):
- def __init__(self, connection):
- """A base class for commands on IRC."""
- self.connection = connection
-
- def get_hooks(self):
- """Hooks are: 'msg', 'msg_private', 'msg_public', and 'join'. Return
- the hooks you want this command to be called on."""
- return []
-
- def get_help(self, command):
- """Return help information for the command, used by !help. return None
- for no help. If a given class handles multiple commands, the command
- variable can be used to return different help for each one."""
- return None
-
- def check(self, data):
- """Given a Data() object, return True if we should respond to this
- activity, or False if we should ignore it/it doesn't apply to us. Most
- commands return True if data.command == 'command_name', otherwise
- they return False."""
- return False
-
- def process(self, data):
- """Handle an activity (usually a message) on IRC. At this point, thanks
- to self.check() which is called automatically by command_handler, we
- know this is something we should respond to, so (usually) a
- 'if data.command != "command_name": return' is unnecessary."""
- pass
|