Overview

        theTardis is a bot that has been developed by theDoctor with help from burg, Vanilla, jason89s, and Steve-O (thanks Wheatley). It currently performs several core functions for dtella including handling releases by the release team, tracking when users were last seen, storing and sending offline messages, keeping track of karma, and sending messages to users as they join.

        Below all of the functions are listed along with a default permission of public or privileged. If the function is listed as blocked, you must be an admin to use it. [ ] signify that one of the enclosed options is required. ( ) signifies that the input is optional.  When using the commands, do not include the [ ] or ( ), just the optional command that it contains. No enclosing means that it is required.


Release Bot

        Categories:

Anime, Apps-Mac, Apps-Mobile, Apps-Win, eBooks, Games-Console, Games-PC, Games-Steam, Movies-HD, Movies-SD, Music, Other, TV-HD, TV-SD, XXX, ALL

        (Note: The category ALL can be used with the !new and !requests commands but not with !release or !add)

        Public

        !new [category] (number of responses)

Returns the last 10 releases of the given category by default. You can also define the number of releases returned (with a maximum of 30 returned results).  You MUST enter a category, which can be ALL for viewing releases from any category. USE THIS FOR FINDING NEW RELEASES

Example: !new all

!addreq [category] Title of the Request

Adds a request to the request database.  In the request, specify as many details on what you’re asking for as you can.  The more detail you can provide, the easier it is to fill your request.  When your request has been filled, you will be notified by PM (Private Message) that it is now available on Dtella.  NOTE: If you are requesting an ebook, please provide the ISBN.  This will make finding it much easier. Textbooks are especially difficult to find online due to versioning by publishers, please accept our apologies if we are unable to fill your textbook request. Please consider putting only one request per category in at a time. We try to help everyone on dtella. If you have multiple requests in the system, you may get skipped for people who don’t in order to distribute media equally.

DO NOT REQUEST:

Example: !addreq movies-hd Really Cool Movie (I would like it in 720p if possible, came out in 2007)

        !watchreq UID

Adds you to watch the request with the given UID and sends you a message when the request has been filled. Use this command to cut down on request spam if someone else has already requested something you are interested in.

Example: !watchreq 123

        !unwatchreq UID

Removes you from the watch list of the request with the given UID.

Example: !unwatchreq 123

!search query

                Searches the release database for a release and PMs you the results.

                Example: !search Name of the Show I’m Looking For

!requests (category) (number of responses)

Lists the last 10 requests by default. Similar to !new, but the category is optional. If you wish to define the number of requests returned, you MUST enter a category, which can be ALL.

Example: !requests tv-hd 30

        !stats user

                Lists the release and request statistics for the given user.

        Public, but Don't Use the Following Commands Unless You Know What You're Doing

!release [category] Title of the Release

Adds the release to the release database and announces to both the #dtella and #release channels. Should be used for major or popular releases only. Should generally only be used by the Release Team.

Example: !release tv-hd Super Popular TV Show

!add [category] Title of the Release

Adds the release to the release database and ONLY announces to the #release channel. Should be used for minor releases.

Example: !add tv-sd Some TV Show

        !fillreq UID

Fills the request with the given UID and sends a message to the requester that it has been filled. If the requester is not online, theTardis will send the message the next time they sign on.

Example: !fillreq 123

        !claimreq UID

Claims the !fillreq for the request with the given UID and notifies any other fillers that you have claimed the request if they try to claim or fill it. Use this command when you are downloading large amounts of content to fill a request so that you don’t waste space that someone else is already downloading.

Example: !claimreq 123

        !unclaimreq UID

Removes you from claiming the request with the given UID.

Example: !unclaimreq 123

        Admin

!delrel UID

                Deletes the specified release from the release database.

        !delreq UID

                Deletes the specified request from the request database.

!fixcatrel UID [category]

                Changes the category of the specified release in the release database to the specified category.

        !fixcatreq UID [category]

                Changes the category of the specified request in the request database to the specified category.

        !webrelease

                Immediately checks the database for web updates (automatically runs every 5 minutes as well).

        !releaseteamassemble

                Summons the release team for important announcements or events.


Weather Functions

Public

!w location

!weather location

Location can be: [city, state 2 digit code] OR [zip]

Responds with the weather for that city, if nothing is input, it responds with the weather for West Lafayette

!f location

!forecast location

Location can be: [city, state 2 digit code] OR [zip]

Responds with the 7 day forecast for that city, if nothing is input, it responds with the 7 day forecast for West Lafayette

!a location

!alerts location

Location can be: [city, state 2 digit code] OR [zip]

Responds with the any available weather alerts for that city, if nothing is input, it responds with the any available weather alerts for West Lafayette

!a full location

!alerts full location

Location can be: [city, state 2 digit code] OR [zip]

Responds with a PM containing the full text of the current alerts


General Chat Functions

Public

        !LastURL

                Outputs the last URL seen by the bot

        !SecondLastURL

Outputs the second-last URL seen by the bot

        !summon user

                Sends a PM to that user saying that they have been summoned by you

        !bothelp (user)

Responds with the link to this documentation, and, if a user is input, their nickname on it to imply that they should, in fact, be reading this document

        !PickaPort

                Responds with a random port number for us in dtella


Urban Dictionary

        Public

        !udict query

                Returns the urban dictionary definition of the query.

        Admin

        !set utime (number)

Sets the amount of time between throttling resets

        !set ucall (number)

Sets the number of calls that can be made during the utime period


Definition Functions

Public

!Whatis Word

?? Word

        Outputs the definition for the given word or phrase.        

Word?

                Outputs the definition for the given word or phrase. Will silently fail if there is no definition for the given word.

        !RandomDef

                Responds with a random definition from the database

        tell User about Definition

                Sends a PM to the input user with the definition requested

        !WhoDef Word

                Responds with the nick who made the def and the time it was made

Admin

        !AddDef Word Definition

        Adds the given word/definition combo to the definition file

Example: <Steve-O> !adddef Wheatley that one idiot bot

        !RmDef Word

                Deletes the given word/phrase from the definition file

                        Example: <Steve-O> !rmdef Wheatley

        !UpDef Word Definition

                Updates the given word with the new definition

                        Example: <Steve-O> !updef Wheatley hyper intelligent ai


TV & Movie Functions

        Public

!tvr [Series]

Responds with the TVRage information for the input series and a link to the TVRage page        

!Rating [Movie]

Responds with the IMDb and Rotten Tomato ratings for the input movie        
!RT [Movie]

                Responds with the Rotten Tomato rating for the input movie

        !IMDb [Movie]

                Responds with the IMDb rating for the input movie

!Schedule [YYYY-MM-DD]

Looks up the TV rage schedule for the given day (only shows after 8PM)

!Schedule first

Looks up the first available date in the TV rage schedule

!Schedule last

Looks up the last available date in the TV rage schedule

!Tonight

Looks up the TV rage schedule for the current night (shows after 8PM)

!Tomorrow

Looks up the TV rage schedule for tomorrow night (shows after 8PM)

!Yesterday

Looks up the TV rage schedule for last night (shows after 8PM)


General Media Functions

        Public

        !Recommend [Media]

                Responds with TasteKid recommendations based on the input

Media categories include: movies, music, TV shows, books, games


Web Interface

        Public

        !webregister (user)

                Notifies the specified user (or the sending user if none is specified) of the online register link, along with a link

         specific to them to prelink their web and IRC accounts.

        Admin

        !addWebLink [WebUser] [IRCUser]

                Links WebUser’s acocunt to IRCUser, allowing the inheritance of permissions

!delWebLink [user]

                Unlinks the web account(s) where either WebUser or IRCUser is “user”.


Search

        Public

        !Google query

                Returns the link to the Google result list for your query.

        !Wolfram query

                Returns the link to the WolframAlpha result list for your query.

!Quack [query]

Responds with the duck duck go information on the input query


Karma

        Public

        !karma user

                Returns the current karma of a user.

        string[++, --]

Increases or decreases the karma of the string respectively. The string can be anything so long as it contains no spaces, including a user. After making the increase or decrease it notices the person that initiated the change with the object’s new karma and, if the object was a user, notices the user with their new karma. There is a time limit of 5 minutes that you must wait between modifying the same object’s karma. You may modify different objects karma during this limit. Karma can not go below 0. If someone abuses this feature, it will be blocked for the offender.


Last Seen

        Public

        !seen user

Returns when the user was last seen in the channel. This is updated whenever someone joins or talks in the channel. Parts are not recorded as many dtella users end up timing out when their computers go to sleep and hence parts are not an accurate measure of when a user was last seen.


Offline Messages

        Public

        !offline user message

Stores a message that will be sent to the user when they log back into the channel. You will also be notified when the user has received the message.

        

        Admin

!processqueue

Runs through the current queue to check and see if there are any messages waiting for users that are currently online. Should be used in the event of a database outage or if something was added manually to the database.


One Time Messages

        Admin

        !messages (number)

Returns messages that are currently stored in the system. If no number is provided it will default to 5. Maximum is 30.

        !addmessage [~, |, *] [1, 0] message

Adds a message to the system. The first modifier limits messages to either IRC (~), dtella (|), or everyone (*). The second modifier either starts the message as active (1) or inactive (0).

        !messageselector UID [~, |, *]

                Change message limiter of the message with the UID to a new limiter.

        !messageenable UID

                Enables the stored message with the listed UID.

        !messagedisable UID

                Enables the stored message with the listed UID.

        !messagemodify UID message

                Modifies the stored message with the listed UID to match the new message.


Permissions

        Admin

        !access [allow, block] [group, command] [group name, command name] [user, hostmask, usermask] [user, hostmask]

Allows or blocks a user or hostmask from access to a command name. Usermask in modifier 4 requires a user to be matched in modifier 5. The other modifiers much me matched accordingly.

        Group Names:

                Karma, Messages


BOTD

        Public

        !addbotd [link]

Adds the specified link to the BOTD database so that it will be used in rotation at some point in the future.

!whobotd

Looks up and announces who added the current BOTD to the database.


Other Nicknames

        Admin

        !othernicks user

                Displays all known linked nicknames on both hostmask and nickname for the given user.

        !linkednicks user

                Displays all known linked nicknames excluding and known bad linkages.


Bans

        Private

        !KickSearch [User/Hostmask] (number of responses)

Returns the last 5 kicks by default. Searches for any recent kicks to the input user/hostmask and returns them. If a number is input, then it returns that many kicks from the log

        !BanSearch [User/Hostmask] (number of responses)

Returns the last 5 bans by default. Searches for any recent bans to the input user/hostmask and returns them. If a number is input, then it returns that many bans from the log

!Activebans

Return the 10 most recent, from any channel

!Activebans (Channel)

Returns the 10 most recent from specified channel

!Activebans Channel (Number)

Returns num responses from specified channel


Special: All of the commands in this section are restricted to bot owners and people of their discretion only.

        Admin

        !updatepermissions

                Loads the current default permissions from the database into bot memory.

        !tardis user

                Kicks the specified user

        !ban user (time)

Bans a user’s nickname only (not hostmask) for a period of time. Default time is 1 minute, but can be specified. Ex (30s, 1m, 1h, 1d)

        !bankick user (time) (reason)

Bans a user’s nickname only (not hostmask) for a period of time and then kicks them from the channel. Default time is 1 minute, but can be specified. Ex (30s, 1m, 1h, 1d) Uses the input reason for the kick reason, including the name of the !bankick user

        !fix

                Fixes the bots nickname (recovers and ghosts if necessary) and rejoins all standard channels.

        !join #channel

                Joins the given channel.

        !part #channel

                Parts the given channel.

        !estop

                Stops the bot and shuts down.


Final Notes:

I, theDoctor, have been developing this bot for fun to help dtella. It is meant to help the network. Please do everyone the favor of not purposely attempting to break or abuse its features. If you do, we can and will block you from the bot. If the offense is serious enough, you may be banned as per dtella’s rules. If you are interested in joining the dev team for this bot, feel free to send me a PM any time.

Thanks for using dtella and theTardis!


Peetsa


Food

Public

!food [court] [mealtime] [day]

                Displays what's on the menu for any dining court on campus. Arguments can come in any order.

                Day can be the date (YYYY-MM-DD), a weekday (Example: Sunday) or “tomorrow”

        !food help

                Displays help message and command syntax

Example: !food wiley

Example: !food hillenbrand lunch monday

Example: !food earhart lunch 2014-08-22


Misc. Commands

        Public

        !dict [word]

                Look up the definition of a word (uses glosbe.com json api)

        !yodawg [x] [y]

                A mirror to the !xzibit command

        !leet [message]

                Converts text to leetspeak

        !zalgo [message]

Converts text to "Zalgo" by using Unicode combining characters (http://www.unicode.org/versions/Unicode6.2.0/ch02.pdf)

        !dmesg

                Simple command to test if bot is working properly.


Latent Functions

        Youtube

                When a Youtube link is pasted, bot will retrieve video title, rating, number of likes and viewcount.

        That's what she said

                Responds to "That's what she said" with a quote by a woman of 'significance'.

        Action

                Responds to actions (/me) taken on the bot


Special: All of the commands in this section are restricted to bot owners and people of their discretion only.

Admin

!reload

        Reloads modules.py on the fly

!poodict [def]

        A mirror to the !udict command