mirror of https://github.com/Mikaela/Limnoria.git
Added example strings.
This commit is contained in:
parent
5c86cd2ce4
commit
9d51e998b5
|
@ -60,6 +60,16 @@ def configure(onStart, afterConnect, advanced):
|
||||||
print 'You can apply for a key at http://www.amazon.com/webservices'
|
print 'You can apply for a key at http://www.amazon.com/webservices'
|
||||||
|
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Amazon
|
||||||
|
<supybot> amazonlicensekey, isbn
|
||||||
|
<jemfinch> (amazonlicense key is used to set the license key to access Amazon's web services. We won't show that here, for obvious reasons.)
|
||||||
|
<jemfinch> @isbn 0-8050-3906-6
|
||||||
|
<supybot> "Winning With the French (Openings)", written by Wolfgang Uhlmann; published by Henry Holt & Company, Inc..
|
||||||
|
<jemfinch> @isbn 0805039066
|
||||||
|
<supybot> "Winning With the French (Openings)", written by Wolfgang Uhlmann; published by Henry Holt & Company, Inc..
|
||||||
|
""")
|
||||||
|
|
||||||
class Amazon(callbacks.Privmsg):
|
class Amazon(callbacks.Privmsg):
|
||||||
threaded = True
|
threaded = True
|
||||||
def amazonlicensekey(self, irc, msg, args):
|
def amazonlicensekey(self, irc, msg, args):
|
||||||
|
|
|
@ -32,12 +32,6 @@
|
||||||
"""
|
"""
|
||||||
Filters bad words on outgoing messages from the bot, so the bot can't be made
|
Filters bad words on outgoing messages from the bot, so the bot can't be made
|
||||||
to say bad words.
|
to say bad words.
|
||||||
|
|
||||||
Commands include:
|
|
||||||
addbadword
|
|
||||||
removebadword
|
|
||||||
addbadwords
|
|
||||||
removebadwords
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from baseplugin import *
|
from baseplugin import *
|
||||||
|
@ -45,6 +39,7 @@ from baseplugin import *
|
||||||
import re
|
import re
|
||||||
import sets
|
import sets
|
||||||
|
|
||||||
|
import utils
|
||||||
import ircdb
|
import ircdb
|
||||||
import ircmsgs
|
import ircmsgs
|
||||||
import privmsgs
|
import privmsgs
|
||||||
|
@ -57,6 +52,29 @@ def configure(onStart, afterConnect, advanced):
|
||||||
words = anything('What words? (separate individual words by spaces)')
|
words = anything('What words? (separate individual words by spaces)')
|
||||||
onStart.append('addbadwords %s' % words)
|
onStart.append('addbadwords %s' % words)
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @load BadWords
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @list BadWords
|
||||||
|
<supybot> addbadword, addbadwords, removebadword, removebadwords
|
||||||
|
<jemfinch> @addbadword darn
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @rot13 qnea
|
||||||
|
<supybot> !@#$
|
||||||
|
<jemfinch> @removebadword darn
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @rot13 qnea
|
||||||
|
<supybot> darn
|
||||||
|
<jemfinch> @addbadwords darn dang shoot
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @rot13 qnea qnat fubbg
|
||||||
|
<supybot> !@#$ !@#$ !@#$!
|
||||||
|
<jemfinch> @removebadwords darn dang shoot
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @rot13 qnea qnat fubbg
|
||||||
|
<supybot> darn dang shoot
|
||||||
|
""")
|
||||||
|
|
||||||
nastyChars = '!@#$' * 256
|
nastyChars = '!@#$' * 256
|
||||||
def subber(m):
|
def subber(m):
|
||||||
return nastyChars[:len(m.group(1))]
|
return nastyChars[:len(m.group(1))]
|
||||||
|
|
|
@ -51,6 +51,22 @@ import privmsgs
|
||||||
import ircutils
|
import ircutils
|
||||||
import callbacks
|
import callbacks
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list ChannelDB
|
||||||
|
<supybot> channelstats, karma, seen, stats
|
||||||
|
<jemfinch> @channelstats
|
||||||
|
<supybot> Error: Command must be sent in a channel or include a channel in its arguments.
|
||||||
|
<jemfinch> (Obviously, you gotta give it a channel :))
|
||||||
|
<jemfinch> @channelstats #sourcereview
|
||||||
|
<supybot> On #sourcereview there have been 46965 messages, containing 1801703 characters, 319510 words, 4663 smileys, and 657 frowns; 2262 of those messages were ACTIONs. There have been 2404 joins, 139 parts, 1 kicks, 323 mode changes, and 129 topic changes.
|
||||||
|
<jemfinch> @stats #sourcereview jemfinch
|
||||||
|
<supybot> jemfinch has sent 16131 messages; a total of 687961 characters, 118915 words, 1482 smileys, and 226 frowns; 797 of those messages were ACTIONs. jemfinch has joined 284 times, parted 25 times, kicked someone 0 times been kicked 0 times, changed the topic 2 times, and changed the mode 2 times.
|
||||||
|
<jemfinch> @karma #sourcereview birthday_sex
|
||||||
|
<supybot> Karma for 'birthday_sex' has been increased 1 time and decreased 0 times for a total karma of 1.
|
||||||
|
<jemfinch> @seen #sourcereview inkedmn
|
||||||
|
<supybot> inkedmn was last seen here 1 day, 18 hours, 42 minutes, and 23 seconds ago saying 'ah'
|
||||||
|
""")
|
||||||
|
|
||||||
smileys = (':)', ';)', ':]', ':-)', ':-D', ':D', ':P', ':p', '(=', '=)')
|
smileys = (':)', ';)', ':]', ':-)', ':-D', ':D', ':P', ':p', '(=', '=)')
|
||||||
frowns = (':|', ':-/', ':-\\', ':\\', ':/', ':(', ':-(', ':\'(')
|
frowns = (':|', ':-/', ':-\\', ':\\', ':/', ':(', ':-(', ':\'(')
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
###
|
###
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Add the module docstring here. This will be used by the setup.py script.
|
This is a module to contain Debian-specific commands.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from baseplugin import *
|
from baseplugin import *
|
||||||
|
@ -75,6 +75,15 @@ def configure(onStart, afterConnect, advanced):
|
||||||
print 'I\'ll disable debfile now.'
|
print 'I\'ll disable debfile now.'
|
||||||
onStart.append('disable debfile')
|
onStart.append('disable debfile')
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Debian
|
||||||
|
<supybot> debfile, debversion, usepythonzegrep
|
||||||
|
<jemfinch> @debversion python
|
||||||
|
<supybot> Total matches: 3, shown: 3. python 2.1.3-3.2 (stable), python 2.2.3-3 (testing), python 2.3-4 (unstable)
|
||||||
|
<jemfinch> @debfile /usr/bin/python
|
||||||
|
<supybot> python/python, devel/crystalspace-dev, python/python1.5, python/python2.1, python/python2.1-popy, python/python2.2, python/python2.2-popy, python/python2.3, python/python2.3-popy, devel/sloccount, graphics/pythoncad, mail/pms
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
class Debian(callbacks.Privmsg, PeriodicFileDownloader):
|
class Debian(callbacks.Privmsg, PeriodicFileDownloader):
|
||||||
threaded = True
|
threaded = True
|
||||||
|
|
|
@ -53,6 +53,18 @@ def configure(onStart, afterConnect, advanced):
|
||||||
from questions import expect, anything, something, yn
|
from questions import expect, anything, something, yn
|
||||||
onStart.append('load Gameknot')
|
onStart.append('load Gameknot')
|
||||||
|
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Gameknot
|
||||||
|
<supybot> gkstats
|
||||||
|
<jemfinch> @gkstats jemfinch
|
||||||
|
<supybot> jemfinch (team: Grasshoppers) is rated 1526 and has 0 active games and a record of W-58, L-30, D-5 (win/loss/draw %: 62.37/32.26/5.38). jemfinch was last seen on Gameknot 6 minutes ago.
|
||||||
|
<jemfinch> blah blah blah I'm talking about http://gameknot.com/stats.pl?ddipaolo blah blah blah
|
||||||
|
<supybot> ddipaolo blah blah blah (team: Grasshoppers) is rated 1159 and has 4 active games and a record of W-135, L-136, D-8 (win/loss/draw %: 48.39/48.75/2.87). ddipaolo blah blah blah was last seen on Gameknot 3 hours 48 minutes ago.
|
||||||
|
<jemfinch> hmm, I wonder what the game http://gameknot.com/chess.pl?bd=1038943 is all about.
|
||||||
|
<supybot> Challenge from ddipaolo: inkedmn (901; W-69, L-84, D-4) vs. ddipaolo (1159; W-135, L-136, D-8); inkedmn to move. <http://gameknot.com/chess.pl?bd=1038943>
|
||||||
|
""")
|
||||||
|
|
||||||
class Gameknot(callbacks.PrivmsgCommandAndRegexp):
|
class Gameknot(callbacks.PrivmsgCommandAndRegexp):
|
||||||
threaded = True
|
threaded = True
|
||||||
regexps = sets.Set(['gameknotSnarfer', 'gameknotStatsSnarfer'])
|
regexps = sets.Set(['gameknotSnarfer', 'gameknotStatsSnarfer'])
|
||||||
|
@ -172,11 +184,11 @@ class Gameknot(callbacks.PrivmsgCommandAndRegexp):
|
||||||
self._gkRating.search(bRating).groups()
|
self._gkRating.search(bRating).groups()
|
||||||
wStats = '%s; W-%s, L-%s, D-%s' % (wRating, wWins, wLosses, wDraws)
|
wStats = '%s; W-%s, L-%s, D-%s' % (wRating, wWins, wLosses, wDraws)
|
||||||
bStats = '%s; W-%s, L-%s, D-%s' % (bRating, bWins, bLosses, bDraws)
|
bStats = '%s; W-%s, L-%s, D-%s' % (bRating, bWins, bLosses, bDraws)
|
||||||
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
irc.queueMsg(callbacks.reply(msg,
|
||||||
'%s: %s (%s) vs. %s (%s); %s <%s>' % (
|
'%s: %s (%s) vs. %s (%s); %s <%s>' % (
|
||||||
gameTitle, wName, wStats, bName, bStats, toMove, url)))
|
gameTitle, wName, wStats, bName, bStats, toMove, url)))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
irc.queueMsg(ircmsgs.privmsg(msg.args[0],
|
irc.queueMsg(callbacks.reply(msg,
|
||||||
'That doesn\'t appear to be a proper Gameknot game.'))
|
'That doesn\'t appear to be a proper Gameknot game.'))
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
irc.error(msg, debug.exnToString(e))
|
irc.error(msg, debug.exnToString(e))
|
||||||
|
@ -185,7 +197,7 @@ class Gameknot(callbacks.PrivmsgCommandAndRegexp):
|
||||||
r"http://gameknot\.com/stats\.pl\?([^&]+)"
|
r"http://gameknot\.com/stats\.pl\?([^&]+)"
|
||||||
name = match.group(1)
|
name = match.group(1)
|
||||||
s = self.getStats(name)
|
s = self.getStats(name)
|
||||||
irc.queueMsg(ircmsgs.privmsg(msg.args[0], s))
|
irc.queueMsg(callbacks.reply(msg, s))
|
||||||
|
|
||||||
Class = Gameknot
|
Class = Gameknot
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,24 @@ def configure(onStart, afterConnect, advanced):
|
||||||
print 'You\'ll need to get a key before you can use this plugin.'
|
print 'You\'ll need to get a key before you can use this plugin.'
|
||||||
print 'You can apply for a key at http://www.google.com/apis/'
|
print 'You can apply for a key at http://www.google.com/apis/'
|
||||||
|
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list google
|
||||||
|
<supybot> google, googlefight, googleinfo, googlelicensekey, googlesite, googlespell, metagoogle
|
||||||
|
<jemfinch> @google jemfinch
|
||||||
|
<supybot> [Twisted-commits] Like, you know, a bugfix. jemfinch reported.: http://twistedmatrix.com/pipermail/twisted-commits/2002-August/002956.html :: Character Analysis of JemFinch NetEssays.NET - Thousands of FREE ...: http://www.netessays.net/viewpaper/1379.html :: SourceForge.net: Developer Profile: http://sourceforge.net/users/jemfinch/ (search took 0.174663 seconds)
|
||||||
|
<jemfinch> @googlefight jemfinch supybot moobot ddipaolo
|
||||||
|
<supybot> 'moobot': 959, 'jemfinch': 236, 'ddipaolo': 229, 'supybot': 80
|
||||||
|
<jemfinch> @googleinfo
|
||||||
|
<supybot> This google module has been called 5 times total; 5 times in the past 24 hours. Google has spent 1.229932 seconds searching for me.
|
||||||
|
<jemfinch> @googlespell recind
|
||||||
|
<supybot> rescind
|
||||||
|
<jemfinch> @metagoogle jemfinch
|
||||||
|
<supybot> Search for 'jemfinch' returned approximately 214 results in 0.072376 seconds.
|
||||||
|
<jemfinch> @googlesite slashdot.org SCO
|
||||||
|
<supybot> Slashdot | How SCO Helped Linux Go Enterprise: http://yro.slashdot.org/yro/03/07/22/0528203.shtml?tid=106&tid=185 :: Slashdot | SCO Threatens Red Hat and SuSE: http://science.slashdot.org/articles/03/04/23/1925259.shtml :: Slashdot | Linus Torvalds about SCO , IP, MS and Transmeta: http://slashdot.org/articles/03/07/05/1728201.shtml?tid=106&tid=185 (search took 0.210749 seconds)
|
||||||
|
""")
|
||||||
|
|
||||||
totalSearches = 0
|
totalSearches = 0
|
||||||
totalTime = 0
|
totalTime = 0
|
||||||
last24hours = structures.queue()
|
last24hours = structures.queue()
|
||||||
|
|
|
@ -52,6 +52,17 @@ def configure(onStart, afterConnect, advanced):
|
||||||
from questions import expect, anything, something, yn
|
from questions import expect, anything, something, yn
|
||||||
onStart.append('load IMDB')
|
onStart.append('load IMDB')
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list IMDB
|
||||||
|
<supybot> imdb
|
||||||
|
<jemfinch> @imdb die hard
|
||||||
|
<supybot> "Die Hard" (1988) belongs to the action and thriller genres. It's been rated 8.0 out of 10. More information is available at <http://imdb.com/Title?0095016>
|
||||||
|
<jemfinch> @imdb the usual suspects
|
||||||
|
<supybot> "The Usual Suspects" (1995) belongs to the crime, thriller, and mystery genres. It's been rated 8.7 out of 10. More information is available at <http://imdb.com/Title?0114814>
|
||||||
|
<jemfinch> @imdb kevin spacey
|
||||||
|
<supybot> "Kevin Spacey" is apparently a person. More information is available at <http://us.imdb.com/Name?Spacey,+Kevin>
|
||||||
|
""")
|
||||||
|
|
||||||
class IMDB(callbacks.Privmsg):
|
class IMDB(callbacks.Privmsg):
|
||||||
threaded = True
|
threaded = True
|
||||||
def _formatMovie(self, movie):
|
def _formatMovie(self, movie):
|
||||||
|
|
|
@ -42,11 +42,53 @@ from baseplugin import *
|
||||||
import re
|
import re
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
import ircmsgs
|
smport ircmsgs
|
||||||
import ircutils
|
import ircutils
|
||||||
import privmsgs
|
import privmsgs
|
||||||
import callbacks
|
import callbacks
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Moobot
|
||||||
|
<supybot> cool, dawdit, ditdaw, give, hi, mime, morse, reverse, stack, unmime, unmorse
|
||||||
|
<jemfinch> @cool supybot
|
||||||
|
<supybot> :cool: supybot :cool:
|
||||||
|
<jemfinch> @dawdit supybot
|
||||||
|
<supybot> supybot
|
||||||
|
<jemfinch> @ditdaw supybot
|
||||||
|
<supybot> ... ..- .--. -.-- -... --- -
|
||||||
|
<jemfinch> @dawdit [ditdaw supybot]
|
||||||
|
<supybot> SUPYBOT
|
||||||
|
<jemfinch> @give yourself a beer
|
||||||
|
* supybot gives himself a beer
|
||||||
|
<jemfinch> @hi
|
||||||
|
<supybot> howdy, jemfinch!
|
||||||
|
<jemfinch> @reverse supybot
|
||||||
|
<supybot> tobypus
|
||||||
|
<jemfinch> @mime supybot
|
||||||
|
<supybot> c3VweWJvdA==
|
||||||
|
<jemfinch> @unmime [mime supybot]
|
||||||
|
<supybot> supybot
|
||||||
|
<jemfinch> @unmorse [morse supybot]
|
||||||
|
<supybot> SUPYBOT
|
||||||
|
<jemfinch> @stack push 1
|
||||||
|
<supybot> "1" pushed.
|
||||||
|
<jemfinch> @stack push 2
|
||||||
|
<supybot> "2" pushed.
|
||||||
|
<jemfinch> @help stack
|
||||||
|
<supybot> stack <'push'|'pop'|'size'|'xray'> <text> (for more help use the morehelp command)
|
||||||
|
<jemfinch> @stack size
|
||||||
|
<supybot> Stack size is 2.
|
||||||
|
<jemfinch> @stack xray 1
|
||||||
|
<supybot> 2
|
||||||
|
<jemfinch> @stack pop
|
||||||
|
<supybot> 2
|
||||||
|
<jemfinch> @stack pop
|
||||||
|
<supybot> 1
|
||||||
|
<jemfinch> @stack pop
|
||||||
|
<supybot> Error: Stack is empty.
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
class Moobot(callbacks.Privmsg):
|
class Moobot(callbacks.Privmsg):
|
||||||
def cool(self, irc, msg, args):
|
def cool(self, irc, msg, args):
|
||||||
"""<something>
|
"""<something>
|
||||||
|
@ -132,11 +174,17 @@ class Moobot(callbacks.Privmsg):
|
||||||
dawdit = unmorse
|
dawdit = unmorse
|
||||||
|
|
||||||
def hi(self, irc, msg, args):
|
def hi(self, irc, msg, args):
|
||||||
"takes no arguments"
|
"""takes no arguments
|
||||||
|
|
||||||
|
Says hi to you.
|
||||||
|
"""
|
||||||
irc.reply(msg, 'howdy, %s!' % msg.nick)
|
irc.reply(msg, 'howdy, %s!' % msg.nick)
|
||||||
|
|
||||||
def reverse(self, irc, msg, args):
|
def reverse(self, irc, msg, args):
|
||||||
"<text>"
|
"""<text>
|
||||||
|
|
||||||
|
Reverses <text>.
|
||||||
|
"""
|
||||||
text = privmsgs.getArgs(args)
|
text = privmsgs.getArgs(args)
|
||||||
irc.reply(msg, text[::-1])
|
irc.reply(msg, text[::-1])
|
||||||
|
|
||||||
|
@ -190,7 +238,9 @@ class Moobot(callbacks.Privmsg):
|
||||||
irc.error(msg, 'I don\'t recognize that stack command.')
|
irc.error(msg, 'I don\'t recognize that stack command.')
|
||||||
|
|
||||||
def give(self, irc, msg, args):
|
def give(self, irc, msg, args):
|
||||||
"""<someone> <something>"""
|
"""<someone> <something>
|
||||||
|
|
||||||
|
Um, gives <someone> <something>."""
|
||||||
(someone, something) = privmsgs.getArgs(args, needed=2)
|
(someone, something) = privmsgs.getArgs(args, needed=2)
|
||||||
if someone == 'me':
|
if someone == 'me':
|
||||||
someone = msg.nick
|
someone = msg.nick
|
||||||
|
@ -198,6 +248,7 @@ class Moobot(callbacks.Privmsg):
|
||||||
someone = 'himself'
|
someone = 'himself'
|
||||||
response = 'gives %s %s' % (someone, something)
|
response = 'gives %s %s' % (someone, something)
|
||||||
irc.queueMsg(ircmsgs.action(ircutils.replyTo(msg), response))
|
irc.queueMsg(ircmsgs.action(ircutils.replyTo(msg), response))
|
||||||
|
raise callbacks.CannotNest
|
||||||
|
|
||||||
|
|
||||||
Class = Moobot
|
Class = Moobot
|
||||||
|
|
|
@ -39,6 +39,7 @@ from baseplugin import *
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
import debug
|
import debug
|
||||||
|
import utils
|
||||||
import privmsgs
|
import privmsgs
|
||||||
import callbacks
|
import callbacks
|
||||||
|
|
||||||
|
@ -51,6 +52,17 @@ def configure(onStart, afterConnect, advanced):
|
||||||
from questions import expect, anything, something, yn
|
from questions import expect, anything, something, yn
|
||||||
onStart.append('load OSU')
|
onStart.append('load OSU')
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list OSU
|
||||||
|
<supybot> osubuilding, osuemail
|
||||||
|
<jemfinch> @osuemail jeremiah fincher
|
||||||
|
<supybot> fincher.8@osu.edu
|
||||||
|
<jemfinch> @osubuilding DL
|
||||||
|
<supybot> Dreese Laboratories, 2015 Neil Avenue, Columbus, Ohio, 43210
|
||||||
|
<jemfinch> @osubuilding CE
|
||||||
|
<supybot> Celeste Laboratory Of Chemistry, 120 W 18th Avenue, Columbus, Ohio, 43210
|
||||||
|
""")
|
||||||
|
|
||||||
buildings = {
|
buildings = {
|
||||||
'AA': 'Agricultural Administration Building, ' \
|
'AA': 'Agricultural Administration Building, ' \
|
||||||
'2120 Fyffe Road, Columbus, Ohio, 43210',
|
'2120 Fyffe Road, Columbus, Ohio, 43210',
|
||||||
|
|
|
@ -31,11 +31,6 @@
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Provides commands for manipulating channel topics.
|
Provides commands for manipulating channel topics.
|
||||||
|
|
||||||
Commands include:
|
|
||||||
addtopic
|
|
||||||
removetopic
|
|
||||||
shuffletopic
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from baseplugin import *
|
from baseplugin import *
|
||||||
|
@ -50,6 +45,25 @@ import ircmsgs
|
||||||
import privmsgs
|
import privmsgs
|
||||||
import callbacks
|
import callbacks
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
--- Topic for #sourcereview is Welcome to #sourcereview, home of cool people. (jemfinch) || supybot now has an IMDB module! (jemfinch) || jemfinch, make lasturl show more information about the url in quesiton. (jemfinch) || jemfinch, think about how you're going to have threads notify the main loop that data is ready. (jemfinch)
|
||||||
|
--- Topic for #sourcereview set by supybot at Tue Aug 26 15:38:35
|
||||||
|
<jemfinch> @list Topic
|
||||||
|
<supybot> jemfinch: addtopic, changetopic, removetopic, shuffletopic, topic
|
||||||
|
<jemfinch> @shuffletopic
|
||||||
|
--- supybot has changed the topic to: supybot now has an IMDB module! (jemfinch) || jemfinch, make lasturl show more information about the url in quesiton. (jemfinch) || Welcome to #sourcereview, home of cool people. (jemfinch) || jemfinch, think about how you're going to have threads notify the main loop that data is ready. (jemfinch)
|
||||||
|
<jemfinch> @removetopic 0
|
||||||
|
--- supybot has changed the topic to: jemfinch, make lasturl show more information about the url in quesiton. (jemfinch) || Welcome to #sourcereview, home of cool people. (jemfinch) || jemfinch, think about how you're going to have threads notify the main loop that data is ready. (jemfinch)
|
||||||
|
<jemfinch> @changetopic 0 s/make/MAKE/
|
||||||
|
--- supybot has changed the topic to: jemfinch, MAKE lasturl show more information about the url in quesiton. (jemfinch) || Welcome to #sourcereview, home of cool people. (jemfinch) || jemfinch, think about how you're going to have threads notify the main loop that data is ready. (jemfinch)
|
||||||
|
<jemfinch> @removetopic -1
|
||||||
|
--- supybot has changed the topic to: jemfinch, MAKE lasturl show more information about the url in quesiton. (jemfinch) || Welcome to #sourcereview, home of cool people. (jemfinch)
|
||||||
|
<jemfinch> @addtopic supybot will make a beta release soon!
|
||||||
|
--- supybot has changed the topic to: jemfinch, MAKE lasturl show more information about the url in quesiton. (jemfinch) || Welcome to #sourcereview, home of cool people. (jemfinch) || supybot will make a beta release soon! (jemfinch)
|
||||||
|
<jemfinch> @topic -1
|
||||||
|
<supybot> jemfinch: supybot will make a beta release soon! (jemfinch)
|
||||||
|
""")
|
||||||
|
|
||||||
class Topic(callbacks.Privmsg):
|
class Topic(callbacks.Privmsg):
|
||||||
topicSeparator = ' || '
|
topicSeparator = ' || '
|
||||||
topicFormatter = '%s (%s)'
|
topicFormatter = '%s (%s)'
|
||||||
|
|
|
@ -39,6 +39,7 @@ import re
|
||||||
|
|
||||||
from twisted.protocols import dict
|
from twisted.protocols import dict
|
||||||
|
|
||||||
|
import utils
|
||||||
import ircutils
|
import ircutils
|
||||||
import privmsgs
|
import privmsgs
|
||||||
import callbacks
|
import callbacks
|
||||||
|
@ -50,7 +51,24 @@ def configure(onStart, afterConnect, advanced):
|
||||||
# like to be run when the bot is started; append to afterConnect the
|
# like to be run when the bot is started; append to afterConnect the
|
||||||
# commands you would like to be run when the bot has finished connecting.
|
# commands you would like to be run when the bot has finished connecting.
|
||||||
from questions import expect, anything, something, yn
|
from questions import expect, anything, something, yn
|
||||||
onStart.append('load TwistedCommands')
|
try:
|
||||||
|
import twisted
|
||||||
|
onStart.append('load TwistedCommands')
|
||||||
|
except ImportError:
|
||||||
|
print 'Sorry, you don\'t seem to have Twisted installed.'
|
||||||
|
print 'You can\'t use this module without Twisted being installed.'
|
||||||
|
print 'Once you\'ve installed Twisted, change conf.driverModule to'
|
||||||
|
print '"twistedDrivers" and add "load TwistedCommands" to your config'
|
||||||
|
print 'file.'
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @load TwistedCommands
|
||||||
|
<supybot> The operation succeeded.
|
||||||
|
<jemfinch> @list TwistedCommands
|
||||||
|
<supybot> dict
|
||||||
|
<jemfinch> @dict rose
|
||||||
|
<supybot> adj : having a dusty purplish pink color; "the roseate glow of dawn" [syn: {roseate}, {rosaceous}] n 1: any of many plants of the genus Rosa, or pinkish table wine from red grapes whose skins were removed after fermentation began [syn: {blush wine}, {pink wine}, {rose wine}]
|
||||||
|
""")
|
||||||
|
|
||||||
class TwistedCommands(callbacks.Privmsg):
|
class TwistedCommands(callbacks.Privmsg):
|
||||||
def defaultErrback(self, irc, msg):
|
def defaultErrback(self, irc, msg):
|
||||||
|
|
|
@ -77,6 +77,27 @@ def configure(onStart, afterConnect, advanced):
|
||||||
if yn('Would you like to disable this command?') == 'y':
|
if yn('Would you like to disable this command?') == 'y':
|
||||||
onStart.append('disable progstats')
|
onStart.append('disable progstats')
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Unix
|
||||||
|
<supybot> crypt, errno, fortune, progstats, spell
|
||||||
|
<jemfinch> @crypt jemfinch
|
||||||
|
<supybot> XJsAYQVv6ACAs
|
||||||
|
<jemfinch> @help crypt
|
||||||
|
<supybot> crypt <password> [<salt>] (for more help use the morehelp command)
|
||||||
|
<jemfinch> @crypt jemfinch XXX
|
||||||
|
<supybot> XXU51Sc5CjpkY
|
||||||
|
<jemfinch> @errno ENOMEM
|
||||||
|
<supybot> ENOMEM (#12): Cannot allocate memory
|
||||||
|
<jemfinch> @errno 11
|
||||||
|
<supybot> EAGAIN (#11): Resource temporarily unavailable
|
||||||
|
<jemfinch> @fortune
|
||||||
|
<supybot> Q: What's the difference between Bell Labs and the Boy Scouts of America? A: The Boy Scouts have adult supervision.
|
||||||
|
<jemfinch> @progstats
|
||||||
|
<supybot> Process ID 1264 running as user "jfincher" and as group "1000" from directory "/home/jfincher/src/my/python/supybot" with the command line "src/bot.py conf/supybot.conf". Running on Python 2.3+ (#2, Aug 10 2003, 11:33:47) [GCC 3.3.1 (Debian)].
|
||||||
|
<jemfinch> @spell recind
|
||||||
|
<supybot> Possible spellings for "recind" (26 found, 26 shown): rescind, rec ind, rec-ind, resined, rebind, remind, rewind, recent, resend, rescinds, rescinder, reined, resound, rezoned, rend, rind, reascend, recited, refined, refund, relined, repined, resins, resin, rosined, reckoned.
|
||||||
|
""")
|
||||||
|
|
||||||
def progstats():
|
def progstats():
|
||||||
pw = pwd.getpwuid(os.getuid())
|
pw = pwd.getpwuid(os.getuid())
|
||||||
response = 'Process ID %i running as user "%s" and as group "%s" '\
|
response = 'Process ID %i running as user "%s" and as group "%s" '\
|
||||||
|
|
|
@ -45,6 +45,33 @@ def configure(onStart, afterConnect, advanced):
|
||||||
from questions import expect, anything, yn
|
from questions import expect, anything, yn
|
||||||
onStart.append('load Utilities')
|
onStart.append('load Utilities')
|
||||||
|
|
||||||
|
example = utils.wrapLines("""
|
||||||
|
<jemfinch> @list Utilities
|
||||||
|
<supybot> echo, ignore, re, repr, shrink, strconcat, strjoin, strlen, strlower, strtranslate, strupper
|
||||||
|
<jemfinch> @echo foo bar baz
|
||||||
|
<supybot> foo bar baz
|
||||||
|
<jemfinch> @ignore foo bar baz
|
||||||
|
<jemfinch> (he just ignores them; it's useful to run commands in sequence without caring about 'The operation succeeded' responses.)
|
||||||
|
<jemfinch> @repr "\n"
|
||||||
|
<supybot> "\n"
|
||||||
|
<jemfinch> @eval 'x'*1000
|
||||||
|
<supybot> My response would've been too long.
|
||||||
|
<jemfinch> @shrink [eval 'x'*1000]
|
||||||
|
<supybot> 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
<jemfinch> (it was shrunken to 400 characters)
|
||||||
|
<jemfinch> @strlen [shrink [eval 'x'*1000]]
|
||||||
|
<supybot> 400
|
||||||
|
<jemfinch> @strjoin + foo bar baz
|
||||||
|
<supybot> foo+bar+baz
|
||||||
|
<jemfinch> @strlower FOO BAR BAZ
|
||||||
|
<supybot> foo bar baz
|
||||||
|
<jemfinch> @strupper FOO bar baz
|
||||||
|
<supybot> FOO BAR BAZ
|
||||||
|
<jemfinch> @strtranslate abc def "abc is easy as 123"
|
||||||
|
<supybot> def is edsy ds 123
|
||||||
|
<jemfinch> @strconcat foo bar
|
||||||
|
""")
|
||||||
|
|
||||||
class Utilities(callbacks.Privmsg):
|
class Utilities(callbacks.Privmsg):
|
||||||
def ignore(self, irc, msg, args):
|
def ignore(self, irc, msg, args):
|
||||||
"""takes no arguments
|
"""takes no arguments
|
||||||
|
|
Loading…
Reference in New Issue