node application to maintain menagerie of twitter bots.
Includes basic status/management dashboard at (host)/status/
Currently used for Twitter bots:
@GCatPix
@CWDogPix
@ct_Races
@xyisx_bot
@LatourAndOrder
@iLikeLikeiLike
git clone https://github.com/BooDoo/botomatic.git npm install
At the very least, you'll need Twitter OAuth keys.
If you're working with words, you'll also want an API key for Wordnik.
Any searching for photos will require Flickr credentials.
See config.js
for sample credential/bot configurations.
Current existing bot 'types' are:
-
lyrpictweet
(@GCatPix, @CWDogPix)
Fetch random lyrics (rap, country, or @lyricryptic) and a random photo (filtered by tag(s)), then tweet the result. -
tweetmash
(based on @LatourSwag)
Search twitter using two separate criteria, combine one tweet from each around a "pivot" word, tweet the result. -
latourandorder
(@LatourAndOrder, variant oftweetmash
) SPECIALIZED
Take a sentence from a TV series' IMDB episode summaries, pair it with a short tweet, tweet the result. -
syllablecount
(@ct_races)
Find a tweet with the specified number of syllables, tweet its content with optional prefix/suffix content around it. -
reminder
(based on @AvoidComments)
Given a pool of messages, periodically tweet them (in sequence or at random). -
youtube
(based on @MLGPR0GAMERxx)
Search YouTube videos for a phrase, tweet the video's title with a link to the video. -
snowclone
(@xyisx_bot, based on @metaphorminute, like a madlib)
Retrieve random words meeting certain criteria and use them to populate a template, tweet the result. -
howilikeit
(@iLikeLikeiLike, variant ofsnowclone
) SPECIALIZED
Get a random noun that has 3 or more plausible descriptors, fill out a template, tweet the result.
A lot, including:
- Better error/exception handling
- Generalizing from "bot types" to Source(s)->Filter(s)->Composition model
- Simplifying bot config creation
- More robust access/rights management for web dashboard
- (De)activating bots individually via dashboard
- Modification/injection of functions via dashboard?
- Tests
- Documentation
- CMU Pronouncing Dictionary (via Nathaniel K Smith's node-cmudict)
- Wordnik
- Original Hip-Hop Lyrics Archive
- Cowboy Lyrics
- @lyricryptic (#thankUbasedBRENDAN)
- IMDB
- Flickr
- YouTube
Back-end:
- twit for interfacing with Twitter
- lodash for general utility functions
- when for Defer/Promise functionality
- request for HTTP requests/REST calls
Web dashboard:
Currently does not install to Win32/64 platforms via npm.
Resolved on github repo, awaiting push to npm package.