# Some Links on How to Make Bots Easily

*Based on an improv demo workshop I "gave" at ELO2017 when the presenter didn't come.*

For a non-progammer, the easiest method I know of is [Cheap Bots Done Quick](http://cheapbotsdonequick.com/) by @v21 based on Tracery.js grammar by @GalaxyKate (Kate Compton).

The example code we created in the tutorial is shown in the image below:
![Screenshot](https://gist.githubusercontent.com/arnicas/104b5a4643896bde0100bb5394f99a78/raw/29506f73ecd781d800185b7c9c88ae118f6dce52/Screenshot.png)

All "stories" start with the origin, and the #hashtag# words are expanded and substituted.  

There's an [online Tracery tutorial here](http://www.crystalcodepalace.com/traceryTut.html). 

(The much more complicated rat bio app I showed integrates a bunch of data sources -- it's [here](http://bl.ocks.org/arnicas/d210166c6d302da09397).)

## Putting SVG/Images in a Bot with CheapBotsDoneQuick

2 Tutorials from @v21: 

* [cartoons with captions](https://github.com/derekahmedzai/cheapbotsdonequick/blob/master/new-yorker.md)
* [Text and images, like inspirational posters](https://github.com/derekahmedzai/cheapbotsdonequick/blob/master/svg-tracery-image-bots.md)

## Using Code - a Python Example

The YeatsBot I had made that we re-wrote used [this Python code in my repo](https://github.com/arnicas/hello-world-bot). I made it by following [this tutorial](https://spinecone.gitbooks.io/build-a-bot-workshop/content/) by @spine_cone.  I modified it a little to make the text extract from the book a little nicer.

The structure of the code is that the bot.py code tweets excerpts from a book.txt file, text taken from a random location and less than 140 characters.  The secret twitter authorization keys are not shown in the repo.  They can be found on your [twitter app page](https://apps.twitter.com/) if you "Create a new app."  Your keys are on the "Keys and Access Tokens" tab. These keys are hand-uploaded or typed into [Python Anywhere](https://www.pythonanywhere.com/), which was hosting the bot before we turned it into a new bot using CheapBots. "Hosting" means that the code was uploaded to their site, which has a web server, and it is set up to run once a day automatically.

## Some Bots I Showed

* [Newfound Planets](https://twitter.com/I_Find_Planets?lang=en) by @cbquist (I think Tracery?)
* [A Strange Voyage](https://twitter.com/str_voyage) by @joebaxterwebb (simple but compelling, not sure how it's coded)
* [Phantom Funhouse](https://twitter.com/phantomfunhouse) by @tinysubversions (advanced and mysterious)

Here's my [Medium newsletter](https://medium.com/@lynn_72328/things-i-think-are-awesome-ep-2-bots-meteors-8de894aa64d9) that had a couple in it.

## More Tutorial Links

Here's [some introductory material on making bots](https://botwiki.org/tutorials/how-to-make-a-twitter-bot-definitive-guide/). [This is a good long list of twitter bot tutorials](https://botwiki.org/tutorials/twitterbots/#tutorials-python). Most still require learning or using a little bit of code.

## Add Links for Newbies, Especially Non-Coders

Should I add some links here? Did I miss any non-coding important resources?