mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-01-11 12:42:34 +01:00
converted QuoteGrabs to use registry
This commit is contained in:
parent
0e3a4c37e1
commit
1f60dc36c2
@ -45,7 +45,10 @@ import os
|
|||||||
import time
|
import time
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
import registry # goes before conf! yell at jamessan, not me
|
||||||
|
|
||||||
import conf
|
import conf
|
||||||
|
import ircdb
|
||||||
import utils
|
import utils
|
||||||
import ircmsgs
|
import ircmsgs
|
||||||
import plugins
|
import plugins
|
||||||
@ -72,14 +75,13 @@ grabTime = 864000 # 10 days
|
|||||||
minRandomLength = 8
|
minRandomLength = 8
|
||||||
minRandomWords = 3
|
minRandomWords = 3
|
||||||
|
|
||||||
|
conf.registerPlugin('QuoteGrabs')
|
||||||
|
conf.registerChannelValue(conf.supybot.plugins.QuoteGrabs, 'randomGrabber',
|
||||||
|
registry.Boolean(False, """Determines whether the bot will randomly grab
|
||||||
|
possibly-suitable quotes for someone."""))
|
||||||
|
|
||||||
class QuoteGrabs(plugins.ChannelDBHandler,
|
class QuoteGrabs(plugins.ChannelDBHandler,
|
||||||
configurable.Mixin,
|
|
||||||
callbacks.Privmsg):
|
callbacks.Privmsg):
|
||||||
configurables = configurable.Dictionary(
|
|
||||||
[('random-grabber', configurable.BoolType, False,
|
|
||||||
"""Determines whether the bot will randomly grab possibly-suitable
|
|
||||||
quotes for someone."""),]
|
|
||||||
)
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
plugins.ChannelDBHandler.__init__(self)
|
plugins.ChannelDBHandler.__init__(self)
|
||||||
callbacks.Privmsg.__init__(self)
|
callbacks.Privmsg.__init__(self)
|
||||||
@ -107,7 +109,7 @@ class QuoteGrabs(plugins.ChannelDBHandler,
|
|||||||
def doPrivmsg(self, irc, msg):
|
def doPrivmsg(self, irc, msg):
|
||||||
if ircutils.isChannel(msg.args[0]):
|
if ircutils.isChannel(msg.args[0]):
|
||||||
channel = msg.args[0]
|
channel = msg.args[0]
|
||||||
if self.configurables.get('random-grabber', channel):
|
if conf.supybot.plugins.QuoteGrabs.randomGrabber():
|
||||||
if len(msg.args[1]) > minRandomLength and \
|
if len(msg.args[1]) > minRandomLength and \
|
||||||
len(msg.args[1].split()) > minRandomWords:
|
len(msg.args[1].split()) > minRandomWords:
|
||||||
db = self.getDb(channel)
|
db = self.getDb(channel)
|
||||||
@ -245,20 +247,25 @@ class QuoteGrabs(plugins.ChannelDBHandler,
|
|||||||
try:
|
try:
|
||||||
id = int(id)
|
id = int(id)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
irc.error('%r does not appear to be a valid quotegrab id'%id)
|
irc.error('%r does not appear to be a valid quotegrab id' % id)
|
||||||
return
|
return
|
||||||
channel = privmsgs.getChannel(msg, args)
|
channel = privmsgs.getChannel(msg, args)
|
||||||
db = self.getDb(channel)
|
db = self.getDb(channel)
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("""SELECT quote, hostmask, added_at
|
cursor.execute("""SELECT quote, hostmask, added_at, added_by
|
||||||
FROM quotegrabs WHERE id = %s""", id)
|
FROM quotegrabs WHERE id = %s""", id)
|
||||||
if cursor.rowcount == 0:
|
if cursor.rowcount == 0:
|
||||||
irc.error('No quotegrab for id %r' % id)
|
irc.error('No quotegrab for id %r' % id)
|
||||||
return
|
return
|
||||||
quote, hostmask, timestamp = cursor.fetchone()
|
quote, hostmask, timestamp, grabber_mask = cursor.fetchone()
|
||||||
time_str = time.strftime(conf.supybot.humanTimestampFormat(),
|
time_str = time.strftime(conf.supybot.humanTimestampFormat(),
|
||||||
time.localtime(float(timestamp)))
|
time.localtime(float(timestamp)))
|
||||||
irc.reply('%s (Said by: %s on %s)' % (quote, hostmask, time_str))
|
try:
|
||||||
|
grabber = ircdb.users.getUser(grabber_mask).name
|
||||||
|
except:
|
||||||
|
grabber = grabber_mask
|
||||||
|
irc.reply('%s (Said by: %s; grabbed by %s on %s)' % \
|
||||||
|
(quote, hostmask, grabber, time_str))
|
||||||
|
|
||||||
|
|
||||||
Class = QuoteGrabs
|
Class = QuoteGrabs
|
||||||
|
Loading…
Reference in New Issue
Block a user