tilde-projects/Code/irc/madlibbot
Russell 772995c0ff Add files I forgot 2019-01-29 10:04:31 -05:00
..
README.md Just some recent changes 2018-09-19 17:04:38 +00:00
another.madlib Modified some bots. Added madlib bot. 2018-06-13 14:34:23 +00:00
madlib.py Fix a bunch of bot code and checkin systemd files 2018-11-01 11:05:52 -04:00
madlib.pyc Just some recent changes 2018-09-19 17:04:38 +00:00
madlibbot.py Fix a bunch of bot code and checkin systemd files 2018-11-01 11:05:52 -04:00
madliblog Modified some bots. Added madlib bot. 2018-06-13 14:34:23 +00:00
story.madlib Modified some bots. Added madlib bot. 2018-06-13 14:34:23 +00:00
util.py Add files I forgot 2019-01-29 10:04:31 -05:00

README.md

MadLibs

Madlibs is a game where a player is asked for many different words that are then inserted into an existing story template. Using different words results in very different stories!

The Madlib library contains several functions that assist in reading a .madlib files, querying a user for input, and constructing a resulting story.

MadLibBot

Madlibbot is an IRC bot that utilizes the madlibs library to play MadLibs in an IRC channel.

Usage

The madlibbot resides in the "#madlibs" channel on the tilde.town server. Saying "madlibbot: startgame" will start a new game of madlibs When asked for a word, reply with "madlibbot: WORD". This is so multiple players may banter in a channel without accidentally answering the bot. Use the command "madlibbot: !quit" to end a game prematurely.

Format

If you would like to make your own stories discoverable by madlibbot, create a directory named "madlibs" in your home directory (eg "/home/krowbar/madlibs"). Inside, add story templates that have the extension ".madlib" (eg "My_Good_Story.madlib"). Underscores will be changed to spaces when displayed in IRC. MadLib files are plain text and use double mustaches to denote words that will be filled in by a user. An example is below:

  • Short_Story.madlib

This is a {{an adjective}} story.

When this story is run, the bot will ask users the following:

madlibbot: Give me an adjective:

and continue asking for word replacement until it runs out of words to replace.

Future Plans

  • Allow users to specify the full path to a madlib file.
    • Make sure you filter only "*.madlib" files so you don't accidentally grant elevated read permissions!
  • Allow story writers the ability to specify that a single answer should be used multiple times in a story
    • Maybe specified like {{#a noun#}} or {{#a noun#4}}
  • Create word-munging options that can be specified for a word to modify given user input
    • title - convert "foo" to "Foo"
    • upper - convert "bar" to "BAR"
    • lower - convert "bAz" to "baz"
    • numeric - convert "3" to "three"
    • ordinal - convert "3" to "third"