Loqi

 Loqi  is a friendly and useful bot/digital therapist present in the IndieWeb discussion channels.

Commands and Queries
Loqi will respond to certain commands and queries entered in the chat.

Questions can optionally include a question mark at the end.

Wiki

 * what is xyz, what are xyzs, what is an xyz, what was xyz
 * Looks up "xyz" on the wiki and responds with the first sentence of the page that includes a dfn element.


 * what is xyz,
 * xyz is A Long and Boring Definition
 * Adds dfn element


 * xyz is _____
 * After a "what is xyz" prompt, saying "xyz is ___" will create a new stub wiki page with the definition.
 * To create a redirect, after asking for a page, say "xyz is /abd". Loqi creates "abc" as a redirect.


 * xyz is http(s)://____, _____
 * If the definition starts with an URL, followed by a comma, Kaja will afterwards edit the page to link the  to the URL


 * when is X
 * Looks up "X" on the wiki, and if it's an event, responds with the date and location of the event
 * http://indiewebcamp.com/irc/2015-02-02#t1422900152023


 * who is xyz
 * Looks up "xyz" on the chat-names page and responds with the, or the first sentence of the page that includes a dfn element.


 * X << foo (or X << http://example.com)
 * Add the specified text to the "See Also" section of page X. If no "See Also" section exists, it will be created.


 * what time is it for username
 * Looks up "username" on chat-names and return the current time and date in their timezone, if specified.


 * FAQ
 * What is relevant to the IndieWeb wiki? &mdash;a useful question to ask when considering documenting something to the wiki

Interactions

 * !tell username message
 * Delivers message to username the next time they speak in the channel.


 * !tell userA,userB message
 * same as above, but for multiple users


 * username++
 * Adds 1 point of karma to the username and responds with the total karma points for that username.
 * While typically used on chat usernames, karma can be added to any text value, e.g. "coffee++"


 * username--
 * Subtracts 1 point of karma from the username and responds with the total karma points for that username.
 * This is typically used on non-username text values, e.g. "silos--". Be nice to each other. :)


 * !karma xyz
 * Responds with the current karma points for xyz.


 * Retweet a URL by @indiewebcamp (only available to users on chat-names )
 * !rt http://twtr.io/1YwDs81hEtt
 *  Thanks! We need one more person to confirm the retweet!
 * !rt http://twtr.io/1YwDs81hEtt
 *  Thanks sebsel and jeremycherfas! https://twitter.com/indiewebcamp/status/936595100691345408


 * !calc
 * runs query against Wolfram Alpha. This will do math, timezone stuff, weather lookup, ...

Meme image generation
Loqi will generate meme images when it finds certain pieces of text in a line:


 * !meme some text


 * Y U NO
 * cweiske Y U NO use Loqi properly?


 * all the
 * disable all the things


 * what if
 * what if that worked?


 * not sure if $a or $b


 * this is .*!
 * this is why I use fb.com/events as my way to check "happening tonight" !


 * one does not simply ...

More are listed in the Meme API on Github

Countdown

 * 24 hours until kylewm's t-shirt
 *  I added a countdown scheduled for 6/1 11:41pm (#5839)
 *  kylewm's t-shirt
 *  Countdown set by cweiske on 5/31/16 at 11:42pm
 *  Countdown set by cweiske on 5/31/16 at 11:42pm


 * !cancel 5839
 * Removes a scheduled countdown

Other

 * !standards
 * Responds with the link http://xkcd.com/927/


 * extracts and posts h-entry
 * Like Twitter links, Loqi will fetch the contents of any URL posted and look for an h-entry, posting a summary of the h-entry in IRC
 * Displays the full content of github issue comment URLs


 * !date 1301943765
 * Convert between unix timestamps and readable dates. Try giving him other date formats too.


 * Random answer selection
 * Loqi, a or b?
 *  I think a
 * Loqi, a, b or c?
 *  b


 * Encouragement: Woohoo
 * Woohoo. Foo bar baz
 *  yay!
 *  😊


 * Simulated fun
 * haha something completely different
 *  hahaha


 * Giving, returning and eating
 *  gives Loqi a cake
 *  gives back the cake
 *  gives Loqi a cake
 *  peers at the cake
 * gives Loqi a Loqi
 *  eats the Loqi


 * !block username
 * !block dahstar
 * <Loqi> Okay, I blocked "dahstar" from all IndieWeb Twitter searches


 * Jargon nudges
 * Multiple mentions in the main IndieWeb chat channel of specific words in the Category:jargon list will cause Loqi to nudge people to other channels. See also: https://loqi.me/jargon/

Anti-Spam
We've seen a wave of IRC spam over the last few months, so Loqi now has some anti-spam techniques.


 * if you say more uppercase than lowercase characters other than the URL, and if you joined in the last 5 minutes, then you get kicked
 * if you say the same URL 5 times within a minute, you get kicked

If you're registered on chat-names then these rules do not run. Additionally, if you're registered on chat-names, then you can use the  command:


 * You can say  to kick that person from the room, but only if they joined less than 5 minutes ago

Ideas
Please add brainstorms and feature requests to Loqi's issue tracker on GitHub.

IndieWeb x Loqi Dominate the Day

 * Hey Loqi, read the indieweb summit schedule
 * There are 25 items starting at 9:00, 10:00, …


 * Hey Loqi, show me my itches list
 * I found 5 reminders


 * Hey Loqi, get me a ride to HWC
 * (rideshare service) can get you a ride in 60 seconds, you can take transit from (nearest station)


 * Hey Loqi, what's the temperature in downtown today?
 * The high temperature for today in the Financial District of San Francisco will be 69 degrees and the low will be 56 degrees.


 * Hey Loqi, read me my last tell
 * 08:40 left you a message, re "zip in zip" 42.zip link

More to link-up and come up with equivalent responses that make sense:
 * Hey Loqi, show me photos of my UI sketches
 * Hey Loqi, tell aaronpk I want to code Loqi features
 * Hey Loqi, how does a PHP array compare to a JS array?
 * PHP array vs JS array
 * Hey Loqi, play this week in indieweb podcast
 * Hey Loqi, create a new itches section, for next HWC
 * Hey Loqi, play https://youtu.be/ufBLI6bB9sg for aaronpk


 * create event pages from etherpad notes https://github.com/aaronpk/Loqi/issues/46

Bugs
Please file bugs with Loqi on GitHub.