Larry is a Golang cli bot that tweets random Github repositories.
I hold no liability for what you do with this bot or what happens to you by using this bot. Abusing this bot can get you banned from Twitter, so make sure to read up on proper usage of the Twitter API.
- GolangRepos: Tweets repositories from Github that contain the "golang" topic
- RustRepos: Tweets repositories from Github that contain the "rust" topic
- MLRepositories: Tweets repositories from Github that contain the "machine-learning" topic
You can install Larry by cloning the repo and using go install
git clone https://github.com/ezeoleaf/larry.git
cd larry
go install
Or you can run it on the go
git clone https://github.com/ezeoleaf/larry.git
cd larry
go run . [options]
Before running the bot, you must first set it up so it can connect to Github and Twitter API. Create a config.json (or rename the config.example.json) file and fill in the following information:
{
"github_access_token": "xxxxx",
"twitter_consumer_key": "xxxxx",
"twitter_consumer_secret": "xxxxx",
"twitter_access_token": "xxxxx",
"twitter_access_secret": "xxxxx"
}
For generating Github access token you can follow this guide
For getting Twitter keys and secrets you can follow this guide
To run the bot, you have two ways.
If you have installed the bot, you can run it using
larry [options]
If you want to run it without installing it globally you can use
go run . [options]
Example:
larry -h
As a response you will see the entire options available
NAME:
larry - Twitter bot that tweets random repositories
USAGE:
larry [global options] command [command options] [arguments...]
AUTHOR:
Ezequiel Olea figueroa <ezeoleaf@gmail.com>
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--topic value, -t value topic for searching repos
--lang value, -l value language for searching repos
--config value, -c value path to config file (default: "./config.json")
--time value, -x value periodicity of tweet in minutes (default: 15)
--cache value, -r value size of cache for no repeating repositories (default: 50)
--hashtag value, --ht value list of comma separated hashtags
--tweet-language, --tl bool for allowing twetting the language of the repo (default: false)
--safe-mode, --sf bool for safe mode. If safe mode is enabled, no repository is published (default: false)
--provider value, --pr value provider where publishable content comes from (default: "github")
--publisher value, --pub value list of comma separared publishers (default: "twitter")
--help, -h show help (default: false)
For running the bot, the command will depend on whatever you want to tweet, but, for tweeting about React repositories every 30 minutes, you could use
larry --topic react --config "path_to_react_config.json" --time 30
For running the bot for Rust tweets every 15 minutes
larry --lang rust --config "path_to_rust_config.json" --time 15
If you're having issues with or have questions about the bot, file an issue in this repository so anyone can get back to you.
Or feel free to contact me ezeoleaf@gmail.com :)