All Projects → ezeoleaf → larry

ezeoleaf / larry

Licence: MIT license
Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to larry

Raymo111
My awesome profile README
Stars: ✭ 110 (+71.88%)
Mutual labels:  twitter-bot, twitter-api
twgitbot
A node.js bot that checks a github repo changes and tweets it to your Twitter account
Stars: ✭ 10 (-84.37%)
Mutual labels:  github-api, twitter-api
twittered
Twitter API client for Java developers
Stars: ✭ 170 (+165.63%)
Mutual labels:  twitter-bot, twitter-api
TwitterScraper
Scrape a User's Twitter data! Bypass the 3,200 tweet API limit for a User!
Stars: ✭ 80 (+25%)
Mutual labels:  twitter-bot, twitter-api
twitter-like-bot
This app allows you to automate Twitter liking for specific keywords, hashtags, or even full sentences. The bot uses streaming API which means that everything happens in real time.
Stars: ✭ 30 (-53.12%)
Mutual labels:  twitter-bot, twitter-api
TinyFlowerBeds
Educational bot that posts a tiny flower bed on Twitter every few hours. Check it out if you're new to Python and open source!
Stars: ✭ 12 (-81.25%)
Mutual labels:  twitter-bot, twitter-api
2017-year-in-review
Year in Review with R Rmd Template
Stars: ✭ 34 (-46.87%)
Mutual labels:  github-api, twitter-api
TwitterAutoReplyBot
This is a tiny Python script that replies to a specified number of tweets containing a specified hashtag.
Stars: ✭ 33 (-48.44%)
Mutual labels:  twitter-bot, twitter-api
twpy
Twitter High level scraper for humans.
Stars: ✭ 58 (-9.37%)
Mutual labels:  twitter-bot, twitter-api
tweet-delete
Self-destructing Tweets so you too can be cool 😎
Stars: ✭ 68 (+6.25%)
Mutual labels:  twitter-bot, twitter-api
twitter-crypto-bot
This is a Twitter bot that tweets about cryptocurrencies prices every certain amount of minutes
Stars: ✭ 21 (-67.19%)
Mutual labels:  twitter-bot, twitter-api
github-markdown-render
Display Markdown formatted documents on your local web server using GitHub's Markdown rendering API and CSS to mimic the visuals of GitHub itself.
Stars: ✭ 18 (-71.87%)
Mutual labels:  github-api
GithubApp-android-architecture
Let's learn a deep look at the Android architecture
Stars: ✭ 16 (-75%)
Mutual labels:  github-api
gramtion
Twitter bot for generating photo descriptions (alt text)
Stars: ✭ 21 (-67.19%)
Mutual labels:  twitter-bot
Twitter-Stream-API-Dataset
Twitter Dynamic Dataset Api. Create any dataset YOU want.
Stars: ✭ 20 (-68.75%)
Mutual labels:  twitter-api
TgTwitterStreamer
Continous Integration from Twitter to Telegram.
Stars: ✭ 55 (-14.06%)
Mutual labels:  twitter-bot
twitivity
🐍 Twitter Accounts Activity API Client Library for Python
Stars: ✭ 49 (-23.44%)
Mutual labels:  twitter-api
ezprofile
🚀 Create an automatic portfolio based on GitHub profile.
Stars: ✭ 344 (+437.5%)
Mutual labels:  github-api
honk-twitter-bot
A simple honk twitter bot that reply honk slash command
Stars: ✭ 19 (-70.31%)
Mutual labels:  twitter-bot
Triton
GitHub notifications tracker for Telegram. Pushes GitHub notifications to Telegram.
Stars: ✭ 12 (-81.25%)
Mutual labels:  github-api

Larry 🐦

Go Coverage Status 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
  • CryptoRepos: Tweets repositories from Github that contain the "crypto" topic

Installation

You can install Larry by cloning the repo and using go install

git clone https://github.com/ezeoleaf/larry.git
cd larry/cmd/larry
go install

You can also use make for building the project and generating an executable:

git clone https://github.com/ezeoleaf/larry.git
cd larry
make build

Or you can just 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.

To do this, you will need to setup the following environment variables:

- GITHUB_ACCESS_TOKEN
- TWITTER_CONSUMER_KEY
- TWITTER_CONSUMER_SECRET
- TWITTER_ACCESS_TOKEN
- TWITTER_ACCESS_SECRET

If you want the content to be publish in a README file on a repo, you also need these variables
- GITHUB_PUBLISH_REPO_OWNER (Your Github username)
- GITHUB_PUBLISH_REPO_NAME (The name of the repo where your README is. It has to be public)
- GITHUB_PUBLISH_REPO_FILE (By default is README)

For generating Github access token you can follow this guide

For getting Twitter keys and secrets you can follow this guide

Note: You will to generate both consumer and access pair of keys/tokens and secrets

Providers and Publishers

For information on publishers and providers click here

Providers (where the information is coming from)

Name Key Environment Variables
Github github GITHUB_ACCESS_TOKEN

NOTE: The key is used in the --provider or --pr option

Publishers (where the information is going to be posted)

Name Key Environment Variables Observation
Twitter twitter TWITTER_CONSUMER_KEY
TWITTER_CONSUMER_SECRET
TWITTER_ACCESS_TOKEN
TWITTER_ACCESS_SECRET
Github github GITHUB_PUBLISH_REPO_OWNER
GITHUB_PUBLISH_REPO_NAME
GITHUB_PUBLISH_REPO_FILE
For now it is only going to be posted in the README file and the repository must be public

NOTE: The key is used in the --publisher or --pub option

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 publishes random information from providers

USAGE:
   larry [global options] command [command options] [arguments...]

AUTHORS:
   @ezeoleaf <[email protected]>
   @beesaferoot <[email protected]>

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
   --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 --time 30 --safe-mode

For running the bot for Rust tweets every 15 minutes

  larry --lang rust --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 [email protected] :)

Star History

Star History Chart

ko-fi

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].