Phenny2, now being tested on Freenode as the main phenny.
This commit is contained in:
44
modules/info.py
Normal file
44
modules/info.py
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
info.py - Phenny Information Module
|
||||
Copyright 2008, Sean B. Palmer, inamidst.com
|
||||
Licensed under the Eiffel Forum License 2.
|
||||
|
||||
http://inamidst.com/phenny/
|
||||
"""
|
||||
|
||||
def doc(phenny, input):
|
||||
"""Shows a command's documentation, and possibly an example."""
|
||||
name = input.group(1)
|
||||
name = name.lower()
|
||||
|
||||
if phenny.doc.has_key(name):
|
||||
phenny.reply(phenny.doc[name][0])
|
||||
if phenny.doc[name][1]:
|
||||
phenny.say('e.g. ' + phenny.doc[name][1])
|
||||
doc.rule = ('$nick', '(?i)help +([A-Za-z]+)(?:\?+)?$')
|
||||
doc.example = '$nickname: help tell?'
|
||||
doc.priority = 'low'
|
||||
|
||||
def commands(phenny, input):
|
||||
# This function only works in private message
|
||||
if input.startswith('#'): return
|
||||
names = ', '.join(sorted(phenny.doc.iterkeys()))
|
||||
phenny.say('Commands I recognise: ' + names + '.')
|
||||
phenny.say(("For help, do '%s: help example?' where example is the " +
|
||||
"name of the command you want help for.") % phenny.nick)
|
||||
commands.commands = ['commands']
|
||||
commands.priority = 'low'
|
||||
|
||||
def help(phenny, input):
|
||||
response = (
|
||||
'Hi, I\'m a bot. Say ".commands" to me in private for a list ' +
|
||||
'of my commands, or see http://inamidst.com/phenny/ for more ' +
|
||||
'general details. My owner is %s.'
|
||||
) % phenny.config.owner
|
||||
phenny.reply(response)
|
||||
help.rule = ('$nick', r'(?i)help(?:[?!]+)?$')
|
||||
help.priority = 'low'
|
||||
|
||||
if __name__ == '__main__':
|
||||
print __doc__.strip()
|
||||
Reference in New Issue
Block a user