modinfo = {
'author': 'Erebus Team',
'license': 'public domain',
- 'compatible': [1,2],
+ 'compatible': [2],
'depends': [],
'softdeps': ['help'],
}
def _keys(user):
return list(set(db.get(getauth(user), {}).keys() + db.get(str(user).lower(), {}).keys())) #list-to-set-to-list to remove duplicates
def _has(user, key):
+ key = key.lower()
return (
key in db.get(getauth(user), {}) or
key in db.get(str(user).lower(), {})
)
def _get(user, key, default=None):
+ key = key.lower()
return (
db.get(getauth(user), {}). #try to get the auth
get(key, #try to get the info-key by auth
default #otherwise throw out whatever default
)))
def _set(user, key, value):
+ key = key.lower()
if getauth(user) is not None:
db.setdefault(getauth(user), {})[key] = value #use auth if we can
db.setdefault(str(user).lower(), {})[key] = value #but set nick too
#commands
-@lib.hook(needchan=False)
+@lib.hook(needchan=False, wantchan=True)
@lib.help("[<target>]", "lists info items known about someone", "<target> may be a nick, or an auth in format '#auth'", "it defaults to yourself")
def getitems(bot, user, chan, realtarget, *args):
- if chan is not None and realtarget == chan.name: replyto = chan
+ if chan is not None: replyto = chan
else: replyto = user
if len(args) > 0:
bot.msg(replyto, "%(user)s: %(target)s has the following info items: %(items)s" % {'user':user,'target':target,'items':(', '.join(_keys(target)))})
-@lib.hook(needchan=False)
+@lib.hook(needchan=False, wantchan=True)
@lib.help("[<target>] <item>", "gets an info item about someone", "<target> may be a nick, or an auth in format '#auth'", "it defaults to yourself")
@lib.argsGE(1)
def getinfo(bot, user, chan, realtarget, *args):
- if chan is not None and realtarget == chan.name: replyto = chan
+ if chan is not None: replyto = chan
else: replyto = user
if len(args) > 1: