From xradiograph

WordSalad: Bot Projects


Well I drove down to Big D.C.
And I walked into Room 1003
And there they were The Big Boys.
And they were talking Big B Little O Little M Silent B
They were saying: ‘’‘Let’s teach those robots how to play hardball.
Let’s teach those little fellas a little gratitude.’‘’

Laurie Anderson, Sharkey’s Night, Home of the Brave, 1985


I am trying to make a variety of bots. I have made some bots.


I thought about this for over a year, until somebody goaded me into actualizing a joke.


I started out with Google-spreadhsheet-script bots, and “graduated” to node.js bots running on Heroku.


See Programming.Bots for technical notes (in link form, mostly).


I have some ideas for future bots, but who knows. These things are fun, programming exercises, linguistic exercises, artistic expressions, artistic experiments, autistic experiments, and whoknowswhat.


This tiny url - - points back to this page. But is tinier.


Bots that use Tracery/Cheap Bot Done Quick(approve sites) may have some source and notes @



quick list
Best of Times bot - best of times/worst of times; pos-tags and replacement from A Tale of Two Cities
Turner of Phrases - they are phrases (vague, deceitful)
Faithful Servants Bot - religion generator
Houses of the Holy - church generator
Wine Critic Bot - vineyards, wines and reviews - craft beers - aka Lis(z)t Mania


Drug Packages Bot

Tweets unique FDA recognized drug packaging sourced from More than 17,600 distinct packaging types. At one tweet per hour, it will cycle through in about 2 years.


.00008 L in 1 BLISTER PACK

— DrugPackagesBot (@DrugPackagesBot) May 13, 2015



Numbers Bots

Messages? What messages? I meant no clandestine messages.



Kim Il Sungism bot


Let us down fail and establish the full picturesque forces in our sung!

— KimilsungismBot (@KimilsungismBot) April 2, 2015


Fairy Tale Titles Bot


The story of Avery and her adventures

— FairyTaleTitles Bot (@FairyTaleTitles) March 24, 2015




Calamities at birth of sword found in fish.

— New Mythologies (@NewMythologies) March 18, 2015



News for Goats


The New Moto E: Is It Tin Cans, Or Are Budget Smartphones Getting Good? #caprinae

— News for Goats (@NewsForGoats) March 2, 2015



BoingBoing Huffer Bot



Valerie Solanas Bots



Huffing BoingBoing bot

aka BoingBoingHuffR - due to naming limitations on Twitter.


Mixes up headlines from BoingBoing.
Based on the manual game played here.


github repo


BB BBS discussion of bot


Header image (and avatar) created with this online glitcher.


See also: Misc.BoingBoing



For crap, marketplace = weed. Toothbrush = DMT

— BoingBoingHufferBot (@BoingBoingHuffR) March 3, 2015



Valerie Solanas Bots

We are Valerie Solanas. We are Legion. We do not forgive. We do not forget. Expect us.
Valerie Solanas Bot 01
Valerie Solanas Bot 02
Valerie Solanas Bot 03 - runing on Heroku


copy of the SCUM manifesto


The disappearance of Up Your Ass - links to another article that has a Mediafire link to a PDF of the play. (have not checked to see if still available there)


Other related twitter accounts - bot? 83 tweets, last posted in 2011. Many fragments (to fit in 140 chars). - Band



References scroll down




Technical Resources

see Programming.Bots


Bot notes

Bot 01 notes

Has a list of about 150 sub-140 char sentences from the original manifesto, a random selection sent out every 4 hours.


Bot 02 notes

It uses a simple markov engine (uses my modification of Edde Addad’s charng engine (pronounced “carnage”)), sending out every 2 hours.


Also scrubs some “bad words” (using Darius Kazemi’s wordfiler, since “faggot” (!!) appears in the original manifesto, and was re-appearing in tweets.


It does some super-dumb text manipulations -- adds final punctuation, and capitalizes the first letter. There’s some issue with google-apps-script + twitter-OAuth that doesn’t seem to allow exclamation marks to go through, so final puncts are periods and question-marks.


Bot 03 notes

Uses the Wordnik API, via twitter-bot-kit from darius k
running on heroku, with API keys in environment variables (which now makes local testing... NOT WORK??)
has a strange fascination with Cherokees, States General, and delendas.
Is it NOT getting new lists?


Each and eery time, the following four values are retrieved for nounplural:


[ { id: 600459, word: 'Cherokees' },
  { id: 480440, word: 'Fishes' },
  { id: 626372, word: 'Smalls' },
  { id: 559410, word: 'States-General' } ],


Hrm. Seems that if I lower the minCorpusCount I get more results.
However, these are NOT the same things and random nouns, but pluralized.
I’m going to need a better strategy if I want to stop picking on the Cherokees and States-General.



DONE: I pulled plain old nouns, and used nlp_compromise to pluralize ‘em:


var plural = function(noun) { return nlp.noun(noun).pluralize(); };


Announcement on

I’ve got version 0.1 up at


As you can see from the name, I got the spelling dead wrong initally. It’s been updated in the settings, but the orignal URL is fixed forever. Men, right?!!!


It’s using this google spreadsheet process to send out a handful (20-ish) of cropped selections from The SCUM Manifesto.


I ran into some authentication issues and.... I’m still not sure how I resolved them. Initially, on Wednesday, I couldn’t get the app set to do read+write, said I needed a mobile phone, and twitter would crash when I tried to add one (I think because my mobile number is already connected an account. My _real_ one).


Anyway. Tonight it worked, without prompting for mobile.




At any rate, I hope to do some variations. This was a proof-of-concept. And harder than I thought, due to the auth-thing.


Variation Plans

  1. Instead of working with the ORIGINAL manifesto, do a word-type replacement, and tweet that?
  2. tweet exactly 140-char fragments
  3. tweet markov’d selections
  4. finds related tweets and re-tweets?


Solanas03 over time

randomly select minifesto until all are used up; refill.
pull a bunch of random words with a given corpus minCount; when one category is depleted, pick a new minCount and re-pull.
This will lead to a number of tweets with obscure words that then change.
Maybe.... have a heading direction for the minCount? go from common to uncommon? jump around?
don’t overthink and overcomplexicize this.



Other bot ideas

Guy Fieri recipe bot

He is incessantly screaming at us to eat concoctions such as beer-battered meatball sandwiches, wrapped in a pizza and deep-fried in lard. What’s for dessert? A sheet cake dipped in pancake batter, dunked in butter frosting and sprinkled with Pop-Tarts.


sequential bot

like howltweeter (example in python). - more complicated sequentialbot; notes|code on splitting up source-text.


Redo SolanasBot01 this way?


BB-forum (discourse) statistics

track the numbers (a boring bot, but who says a bot has to be sexy!)
use a back-end db, and see how things have changed since the last time?
Or just rely on in-memory state
curl errorError code: malformed


Could be an interesting “service” to others....


Shouldn’t tweet everytime as post is made though... should it?
Maybe that’s a “control-panel” setting....



5-word scary stories
retweet 5-word posts (that didn’t originally have the hashtag) with the hashtag #ScaryStoriesIn5Words


alternatively, #5wordscarystory or #5wordscarystories


The first is just SO LONG


OTOH, the tweets themselves are small. But the use of in inside of the hashtag is grating.



Research - went through howl line by line, searching twitter for something similar, then retweeting. But.. not a bot?



See Also

Programming.Bots - for technical stuff
PrantedMutter.Sketch - helpful for finding the first tweet of a user - find someone’s old tweets - can’t always go back to the beginning; 2000-tweet limit?


Category Tags

bots twitter google scripting CheapTools WritingMachines automation

Retrieved from
Page last modified on October 09, 2017, at 08:20 PM