ankittkp / larry

Larry 🐦 is a Twitter bot that tweets a random repository from Github built in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Larry 🐦

Go Go Report Card MIT License

Larry is a Golang cli bot that tweets random Github repositories.

Disclaimer

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.

Running bots

  • 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

Installation

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]

Usage

Configuring the bot

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

Running the bot

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

Have questions? Need help with the bot?

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 :)

About

Larry 🐦 is a Twitter bot that tweets a random repository from Github built in Go

License:MIT License


Languages

Language:Go 96.2%Language:Makefile 3.8%