diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/bitly.py | 3 | ||||
| -rw-r--r-- | modules/books.py | 4 | ||||
| -rw-r--r-- | modules/commands.py | 5 | ||||
| -rw-r--r-- | modules/define.py | 3 | ||||
| -rw-r--r-- | modules/dns.py | 3 | ||||
| -rw-r--r-- | modules/geoip.py | 3 | ||||
| -rw-r--r-- | modules/google.py | 3 | ||||
| -rw-r--r-- | modules/haveibeenpwned.py | 2 | ||||
| -rw-r--r-- | modules/imdb.py | 3 | ||||
| -rw-r--r-- | modules/in.py | 2 | ||||
| -rw-r--r-- | modules/karma.py | 21 | ||||
| -rw-r--r-- | modules/lastfm.py | 3 | ||||
| -rw-r--r-- | modules/permissions.py | 9 | ||||
| -rw-r--r-- | modules/random.py | 3 | ||||
| -rw-r--r-- | modules/seen.py | 3 | ||||
| -rw-r--r-- | modules/thesaurus.py | 3 | ||||
| -rw-r--r-- | modules/title.py | 2 | ||||
| -rw-r--r-- | modules/to.py | 2 | ||||
| -rw-r--r-- | modules/trakt.py | 2 | ||||
| -rw-r--r-- | modules/translate.py | 2 | ||||
| -rw-r--r-- | modules/twitter.py | 3 | ||||
| -rw-r--r-- | modules/urbandictionary.py | 3 | ||||
| -rw-r--r-- | modules/weather.py | 5 | ||||
| -rw-r--r-- | modules/wolframalpha.py | 3 | ||||
| -rw-r--r-- | modules/words.py | 3 | ||||
| -rw-r--r-- | modules/youtube.py | 2 |
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) |
