Twitter Bot Character Creation

I saw a tweet from Adam Koebel yesterday suggesting that it’d be cool to have twitter bots that can create characters when you @ them, so I tried it out. I thought I’d share how I did it in case anyone else wanted to try it out.

First, I got together the information that I’d need for character creation. For Goblinville, some parts are collaborative and need to be done at the table, but most of character creation can be randomized. I those random lists together as arrays (put each entry in quotes and separated them with commas.)

Then I made a new Twitter account @Goblinville_Bot using an email that’s not linked to my main twitter account. I logged into the bot account and went to Cheap Bots Done Quick. This is a site that hosts twitter bots using a tool called Tracery.

To make a tweet template, I wrote a sentence and put each element I wanted to randomize between # symbols. Then I made sure that the name of each array (age, job, garb, etc) matched what it said in between the # symbols. When generating a tweet, Tracery starts by printing the contents of “origin” (everything between the brackets, or a random entry if “origin” is an array). When it scans something between # symbols, it replaces those symbols with a random entry from the corresponding list. For example, #job# gets replaced with a random entry from the array named “job”.

Finally, I set the bot to generate a response once a day, and again each time someone tweets @Goblinville_Bot.

This stuff is pretty fun for me, so I’m happy to answer any questions about how to make this for another game, or about more detailed bot creation.

14 Likes

Thanks for this - I followed your tutorial to make a bot of my very own: https://twitter.com/EAMB_bot

3 Likes

Yes, that was the dream! Well done on your bot. I like how the sentence structure varies a bit.

1 Like

I made one of these a while ago! It, uh, it generates a dead character.

https://twitter.com/elegiacrpg

2 Likes

Neat! Macabre!

I think the rhythm of the repeated structure.