aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/bitly.py3
-rw-r--r--modules/books.py4
-rw-r--r--modules/commands.py5
-rw-r--r--modules/define.py3
-rw-r--r--modules/dns.py3
-rw-r--r--modules/geoip.py3
-rw-r--r--modules/google.py3
-rw-r--r--modules/haveibeenpwned.py2
-rw-r--r--modules/imdb.py3
-rw-r--r--modules/in.py2
-rw-r--r--modules/karma.py21
-rw-r--r--modules/lastfm.py3
-rw-r--r--modules/permissions.py9
-rw-r--r--modules/random.py3
-rw-r--r--modules/seen.py3
-rw-r--r--modules/thesaurus.py3
-rw-r--r--modules/title.py2
-rw-r--r--modules/to.py2
-rw-r--r--modules/trakt.py2
-rw-r--r--modules/translate.py2
-rw-r--r--modules/twitter.py3
-rw-r--r--modules/urbandictionary.py3
-rw-r--r--modules/weather.py5
-rw-r--r--modules/wolframalpha.py3
-rw-r--r--modules/words.py3
-rw-r--r--modules/youtube.py2
26 files changed, 69 insertions, 31 deletions
diff --git a/modules/bitly.py b/modules/bitly.py
index b0aa5d7b..ac7835a1 100644
--- a/modules/bitly.py
+++ b/modules/bitly.py
@@ -11,7 +11,8 @@ class Module(object):
self.bot = bot
bot.events.on("get").on("shortlink").hook(self.shortlink)
bot.events.on("received").on("command").on("shorten"
- ).hook(self.shorten, min_args=1)
+ ).hook(self.shorten, min_args=1, help="Shorten a URL.",
+ usage="<url>")
def shortlink(self, event):
url = event["url"]
diff --git a/modules/books.py b/modules/books.py
index c78e381f..1d9c9f4c 100644
--- a/modules/books.py
+++ b/modules/books.py
@@ -11,10 +11,10 @@ class Module(object):
self.bot = bot
bot.events.on("received").on("command").on("isbn").hook(
self.isbn, help="Get book information from a provided ISBN",
- min_args=1)
+ min_args=1, usage="<isbn>")
bot.events.on("received").on("command").on("book").hook(
self.book, help="Get book information from a provided title",
- min_args=1)
+ min_args=1, usage="<book title>")
def get_book(self, query, event):
page = Utils.get_url(URL_GOOGLEBOOKS, get_params={
diff --git a/modules/commands.py b/modules/commands.py
index a274ce2a..306a79ed 100644
--- a/modules/commands.py
+++ b/modules/commands.py
@@ -47,9 +47,10 @@ class Module(object):
bot.events.on("received").on("message").on("private").hook(
self.private_message)
bot.events.on("received").on("command").on("help").hook(self.help,
- help="Show help for commands")
+ help="Show help for commands", usage="<command>")
bot.events.on("received").on("command").on("usage").hook(self.usage,
- help="Show usage help for commands", min_args=1)
+ help="Show usage help for commands", min_args=1,
+ usage="<command>")
bot.events.on("received").on("command").on("more").hook(self.more,
help="Get more output from the last command")
bot.events.on("new").on("user", "channel").hook(self.new)
diff --git a/modules/define.py b/modules/define.py
index 19a590fb..b452e0fa 100644
--- a/modules/define.py
+++ b/modules/define.py
@@ -8,7 +8,8 @@ class Module(object):
def __init__(self, bot):
self.bot = bot
bot.events.on("received").on("command").on("define").hook(
- self.define, help="Define a provided term")
+ self.define, help="Define a provided term",
+ usage="<phrase>")
def define(self, event):
if event["args"]:
diff --git a/modules/dns.py b/modules/dns.py
index 95c1b80c..2935e1bf 100644
--- a/modules/dns.py
+++ b/modules/dns.py
@@ -5,7 +5,8 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("dns").hook(
self.dns, min_args=1,
- help="Get all addresses for a given hostname (IPv4/IPv6)")
+ help="Get all addresses for a given hostname (IPv4/IPv6)",
+ usage="<hostname>")
def dns(self, event):
hostname = event["args_split"][0]
diff --git a/modules/geoip.py b/modules/geoip.py
index a3c5db2d..7615575c 100644
--- a/modules/geoip.py
+++ b/modules/geoip.py
@@ -7,7 +7,8 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("geoip").hook(
self.geoip, min_args=1,
- help="Get geoip data on a given IPv4/IPv6 address")
+ help="Get geoip data on a given IPv4/IPv6 address",
+ usage="<IP>")
def geoip(self, event):
page = Utils.get_url(URL_GEOIP % event["args_split"][0],
diff --git a/modules/google.py b/modules/google.py
index d391de7f..237a1c58 100644
--- a/modules/google.py
+++ b/modules/google.py
@@ -9,7 +9,8 @@ class Module(object):
def __init__(self, bot):
self.bot = bot
bot.events.on("received").on("command").on("google",
- "g").hook(self.google, help="Google feeling lucky")
+ "g").hook(self.google, help="Google feeling lucky",
+ usage="[search term]")
def google(self, event):
phrase = event["args"] or event["log"].get()
diff --git a/modules/haveibeenpwned.py b/modules/haveibeenpwned.py
index e2d13b4d..ed4817e0 100644
--- a/modules/haveibeenpwned.py
+++ b/modules/haveibeenpwned.py
@@ -8,7 +8,7 @@ class Module(object):
bot.events.on("received").on("command").on("beenpwned").hook(
self.beenpwned, min_args=1,
help="Find out if a username, email or similar has appeared "
- "in any hacked databased")
+ "in any hacked databased", usage="<username/email>")
def beenpwned(self, event):
page = Utils.get_url(URL_HAVEIBEENPWNEDAPI % event["args"], json=True,
diff --git a/modules/imdb.py b/modules/imdb.py
index 62492bc7..0c03556a 100644
--- a/modules/imdb.py
+++ b/modules/imdb.py
@@ -9,7 +9,8 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("imdb").hook(
self.imdb, min_args=1,
- help="Search for a given title on IMDb")
+ help="Search for a given title on IMDb",
+ usage="<movie/tv title>")
def imdb(self, event):
page = Utils.get_url(URL_OMDB, get_params={"t": event["args"]},
diff --git a/modules/in.py b/modules/in.py
index 97ec1cc6..79094eb1 100644
--- a/modules/in.py
+++ b/modules/in.py
@@ -9,7 +9,7 @@ class Module(object):
self.bot = bot
bot.events.on("received").on("command").on("in").hook(
self.in_command, min_args=2,
- help="Set a reminder")
+ help="Set a reminder", usage="<time> <message>")
bot.events.on("received").on("numeric").on("001").hook(
self.on_connect)
diff --git a/modules/karma.py b/modules/karma.py
index 64552378..e51d018f 100644
--- a/modules/karma.py
+++ b/modules/karma.py
@@ -5,11 +5,22 @@ KARMA_DELAY_SECONDS = 3
class Module(object):
def __init__(self, bot):
+ self.bot = bot
bot.events.on("new").on("user").hook(self.new_user)
bot.events.on("received").on("message").on("channel").hook(
self.channel_message)
bot.events.on("received").on("command").on("karma").hook(
- self.karma, help="Get your or someone else's karma")
+ self.karma, help="Get your or someone else's karma",
+ usage="[target]")
+ bot.events.on("boot").on("done").hook(self.boot_done)
+
+ def validate_setchannel(self, s):
+ return s.lower() == "true"
+ def boot_done(self, event):
+ self.bot.events.on("postboot").on("configure").on(
+ "channelset").call(setting="karmaverbose",
+ help="Disable/Enable automatically responding to karma changes",
+ validate=self.validate_setchannel)
def new_user(self, event):
event["user"].last_karma = None
@@ -20,6 +31,7 @@ class Module(object):
if not event["user"].last_karma or (time.time()-event["user"
].last_karma) >= KARMA_DELAY_SECONDS:
target = match.group(1).lower().strip()
+ verbose = event["channel"].get_setting("karmaverbose", False)
if not target == event["user"].name:
positive = match.group(2)[0] == "+"
setting = "karma-%s" % target
@@ -32,7 +44,14 @@ class Module(object):
event["server"].set_setting(setting, karma)
else:
event["server"].del_setting(setting)
+ if verbose:
+ self.bot.events.on("send").on("stdout").call(
+ module_name="Karma", target=event["channel"],
+ message="%s now has %d karma" % (target, karma))
event["user"].last_karma = time.time()
+ elif verbose:
+ self.bot.events.on("send").on("stderr").call(module_name="Karma",
+ target=event["channel"], message="You cannot change your own karma")
def karma(self, event):
if event["args"]:
diff --git a/modules/lastfm.py b/modules/lastfm.py
index c942d394..7b56bfbd 100644
--- a/modules/lastfm.py
+++ b/modules/lastfm.py
@@ -10,7 +10,8 @@ class Module(object):
bot.events.on("boot").on("done").hook(self.boot_done)
bot.events.on("received").on("command").on("np",
"listening", "nowplaying").hook(self.np,
- help="Get the last listen to track from a user")
+ help="Get the last listen to track from a user",
+ usage="[username]")
def boot_done(self, event):
self.bot.events.on("postboot").on("configure").on(
diff --git a/modules/permissions.py b/modules/permissions.py
index f58348eb..0e57efdd 100644
--- a/modules/permissions.py
+++ b/modules/permissions.py
@@ -7,11 +7,14 @@ class Module(object):
bot.events.on("new").on("user").hook(self.new_user)
bot.events.on("received").on("part").hook(self.on_part)
bot.events.on("received").on("command").on("identify"
- ).hook(self.identify, private_only=True, min_args=1)
+ ).hook(self.identify, private_only=True, min_args=1,
+ usage="<password>", help="Identify yourself")
bot.events.on("received").on("command").on("register"
- ).hook(self.register, private_only=True, min_args=1)
+ ).hook(self.register, private_only=True, min_args=1,
+ usage="<password>", help="Register your nickname")
bot.events.on("received").on("command").on("logout"
- ).hook(self.logout, private_only=True)
+ ).hook(self.logout, private_only=True,
+ help="Sign out from the bot")
def new_user(self, event):
self._logout(event["user"])
diff --git a/modules/random.py b/modules/random.py
index 745fae61..aa1b277b 100644
--- a/modules/random.py
+++ b/modules/random.py
@@ -3,7 +3,8 @@ import random
class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("random",
- "rand").hook(self.random, help="Get a random number")
+ "rand").hook(self.random, help="Get a random number",
+ usage="[start] [end]")
def random(self, event):
start, end = "1", "100"
diff --git a/modules/seen.py b/modules/seen.py
index dc2d7ae1..ad2e7dc6 100644
--- a/modules/seen.py
+++ b/modules/seen.py
@@ -7,7 +7,8 @@ class Module(object):
).hook(self.channel_message)
bot.events.on("received").on("command").on("seen").hook(
self.seen, min_args=1,
- help="Find out when a user was last seen")
+ help="Find out when a user was last seen",
+ usage="<username>")
def channel_message(self, event):
seen_seconds = time.time()
diff --git a/modules/thesaurus.py b/modules/thesaurus.py
index b0b54aa3..2580c191 100644
--- a/modules/thesaurus.py
+++ b/modules/thesaurus.py
@@ -9,7 +9,8 @@ class Module(object):
self.bot = bot
bot.events.on("received").on("command").on("synonym",
"antonym").hook(self.thesaurus, min_args=1,
- help="Get synonyms/antonyms for a provided phrase")
+ help="Get synonyms/antonyms for a provided phrase",
+ usage="<word> [type]")
def thesaurus(self, event):
phrase = event["args_split"][0]
diff --git a/modules/title.py b/modules/title.py
index 23c966bb..6ccc7044 100644
--- a/modules/title.py
+++ b/modules/title.py
@@ -7,7 +7,7 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("title", "t").hook(
self.title, help="Get the title of the provided or most "
- "recent URL.")
+ "recent URL.", usage="[URL]")
def title(self, event):
url = None
diff --git a/modules/to.py b/modules/to.py
index 66e248fc..21c5bb69 100644
--- a/modules/to.py
+++ b/modules/to.py
@@ -7,7 +7,7 @@ class Module(object):
bot.events.on("received").on("command").on("to").hook(
self.to, min_args=2, help=("Relay a message to a "
"user the next time they talk in a channel"),
- channel_only=True)
+ channel_only=True, usage="<username> <message>")
def channel_message(self, event):
setting = "to-%s" % event["user"].nickname
diff --git a/modules/trakt.py b/modules/trakt.py
index b488ad40..3e407752 100644
--- a/modules/trakt.py
+++ b/modules/trakt.py
@@ -12,7 +12,7 @@ class Module(object):
bot.events.on("received").on("command").on("nowwatching",
"nw").hook(self.now_watching,
help="Get what you or another user is now watching "
- "on trakt.tv")
+ "on trakt.tv", usage="[username]")
def boot_done(self, event):
self.bot.events.on("postboot").on("configure").on("set"
diff --git a/modules/translate.py b/modules/translate.py
index 2886330d..f2a85d4d 100644
--- a/modules/translate.py
+++ b/modules/translate.py
@@ -8,7 +8,7 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("translate", "tr").hook(
self.translate, help="Translate the provided phrase or the "
- "last line seen.")
+ "last line seen.", usage="[phrase]")
def translate(self, event):
phrase = event["args"]
diff --git a/modules/twitter.py b/modules/twitter.py
index 20dc5f5e..a1308df5 100644
--- a/modules/twitter.py
+++ b/modules/twitter.py
@@ -14,7 +14,8 @@ class Module(object):
def __init__(self, bot):
self.bot = bot
bot.events.on("received").on("command").on("twitter", "tw"
- ).hook(self.twitter, help="Find a tweet")
+ ).hook(self.twitter, help="Find a tweet",
+ usage="[@username/URL/ID]")
def make_timestamp(self, s):
seconds_since = time.time()-datetime.datetime.strptime(s,
diff --git a/modules/urbandictionary.py b/modules/urbandictionary.py
index a9815617..d2bcc441 100644
--- a/modules/urbandictionary.py
+++ b/modules/urbandictionary.py
@@ -8,7 +8,8 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("urbandictionary", "ud"
).hook(self.ud, min_args=1,
- help="Get the definition of a provided term")
+ help="Get the definition of a provided term",
+ usage="<term>")
def ud(self, event):
term = event["args"]
diff --git a/modules/weather.py b/modules/weather.py
index e3350de3..53fce200 100644
--- a/modules/weather.py
+++ b/modules/weather.py
@@ -6,10 +6,11 @@ URL_WEATHER = "http://api.openweathermap.org/data/2.5/weather"
class Module(object):
def __init__(self, bot):
+ self.bot = bot
bot.events.on("received").on("command").on("weather").hook(
self.weather, min_args=1,
- help="Get current weather data for a provided location")
- self.bot = bot
+ help="Get current weather data for a provided location",
+ usage="<location>")
def weather(self, event):
api_key = self.bot.config["openweathermap-api-key"]
diff --git a/modules/wolframalpha.py b/modules/wolframalpha.py
index 3ab5d670..059408d7 100644
--- a/modules/wolframalpha.py
+++ b/modules/wolframalpha.py
@@ -11,7 +11,8 @@ class Module(object):
def __init__(self, bot):
bot.events.on("received").on("command").on("wolframalpha", "wa"
).hook(self.wa, min_args=1, help=
- "Evauate a given string on Wolfram|Alpha")
+ "Evauate a given string on Wolfram|Alpha",
+ usage="<query>")
self.bot = bot
def wa(self, event):
diff --git a/modules/words.py b/modules/words.py
index 42c0b19a..578a509f 100644
--- a/modules/words.py
+++ b/modules/words.py
@@ -7,7 +7,8 @@ class Module(object):
bot.events.on("received").on("message").on("channel"
).hook(self.channel_message)
bot.events.on("received").on("command").on("words"
- ).hook(self.words, channel_only=True)
+ ).hook(self.words, channel_only=True,
+ usage="<nickname>")
def new_server(self, event):
event["server"].tracked_words = set([])
diff --git a/modules/youtube.py b/modules/youtube.py
index d73e5e34..e20c4305 100644
--- a/modules/youtube.py
+++ b/modules/youtube.py
@@ -21,7 +21,7 @@ class Module(object):
self.bot = bot
bot.events.on("received").on("command").on("yt", "youtube"
).hook(self.yt,
- help="Find a video on youtube")
+ help="Find a video on youtube", usage="[query]")
bot.events.on("received").on("message").on("channel").hook(
self.channel_message)
bot.events.on("boot").on("done").hook(self.boot_done)