Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mulx10/broly
An all in one bot for the communication, management, fun, productivity of the developers participating in a project. Deployment of builds & automating response management Tracking pull requests, build results & logs. Weekly report appreciating the significant contributions. Extracting memes, thought of the day, horoscope etc.
https://github.com/mulx10/broly
bot chatbot commits contribution-graph contributors-backers-tracker github-api githubscrapapi horoscope logs mattermost memes memes-in-production pr-status pull-requests reddit-api thoughts tod weekly-reports
Last synced: 8 days ago
JSON representation
An all in one bot for the communication, management, fun, productivity of the developers participating in a project. Deployment of builds & automating response management Tracking pull requests, build results & logs. Weekly report appreciating the significant contributions. Extracting memes, thought of the day, horoscope etc.
- Host: GitHub
- URL: https://github.com/mulx10/broly
- Owner: MuLx10
- License: mit
- Created: 2020-02-10T10:37:34.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-20T02:56:05.000Z (over 3 years ago)
- Last Synced: 2023-03-01T10:48:58.795Z (over 1 year ago)
- Topics: bot, chatbot, commits, contribution-graph, contributors-backers-tracker, github-api, githubscrapapi, horoscope, logs, mattermost, memes, memes-in-production, pr-status, pull-requests, reddit-api, thoughts, tod, weekly-reports
- Language: Python
- Homepage: https://mm-broly.herokuapp.com/
- Size: 474 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Broly
An all in one bot for the communication, management, fun, productivity of the developers participating in a project.
* Deployment of builds & automating response management
* Tracking pull requests, build results & logs.
* Weekly report appreciating the significant contributions.
* Extracting memes, thought of the day, horoscope etc.## Setup
### Enable Access TokenGo to System Console -> Integration Management
Follow steps 1->2->3![](https://github.com/MuLx10/Broly/raw/master/images/access_token.png)
### Create a bot
**Enable Bot Accounts**
![](https://github.com/MuLx10/Broly/raw/master/images/bot_acc.png)
**Create Bots**
![](https://github.com/MuLx10/Broly/raw/master/images/new_bot1.png)
![](https://github.com/MuLx10/Broly/raw/master/images/new_bot2.png)Note the Bot access token, It is needed as API Key for command line
![](https://github.com/MuLx10/Broly/raw/master/images/bot_token.png)
### Editing [config](config.py) file
```python
# Github API
GH_API_KEY = os.getenv('GH_API_KEY', 'Fill here or add to the environment variable')# Reddit API
REDDIT_API_CLIENT_ID = os.getenv('REDDIT_API_CLIENT_ID', 'Fill here or add to the environment variable')
REDDIT_API_CLIENT_SECRET = os.getenv('REDDIT_API_CLIENT_SECRET', 'Fill here or add to the environment variable')
REDDIT_API_USER_AGENT = "Meme collector"BOT_API_KEY = os.getenv('BOT_API_KEY', 'Fill here or add to the environment variable') # Mattermost Broly bot access token
ADMIN_API_KEY = os.getenv('ADMIN_API_KEY', 'Fill here or add to the environment variable') # Mattermost Admin access token needed to get team ids (described below)
MATTERMOST_URL = "https://mm-broly.herokuapp.com" # Mattermost url
```
**Github API**
Resource can be found [here](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)**Reddit API**
Go to [app preferences](https://www.reddit.com/prefs/apps) and click on create app or create another app which will take you to this screen. For the redirect URL, put in http://localhost:8080![](https://miro.medium.com/max/1866/1*3f6GfvGuHJIcqum74k3xBw.png)
![](https://miro.medium.com/max/1884/1*C-xVOOFOqV877jdZeCZ4sw.png)### Get Teams
Account Settings -> Security -> Personal Access Tokens```bash
$ python config.py
[{"id":"xh956esr83bhpkom35zekfzxdy","create_at":1583095734153,"update_at":1583095734153,"delete_at":0,"display_name":"BotFest","name":"botfest","description":"","email":"[email protected]","type":"O","company_name":"","allowed_domains":"","invite_id":"h6cfgdpjh3neumfgeba9oy55qe","allow_open_invite":false,"scheme_id":null,"group_constrained":null}]
```Choose the team id and add it in config.py
```python
TEAM_ID = "xh956esr83bhpkom35zekfzxdy"
ORG_NAME = 'mattermost' # Organization name on Github eg. 'mattermost'
PROJECTS = ['mattermost-mobile'] # list conatining projects eg. ['mattermost-mobile']
```### Requirements & Installation
* Python v3
* Mattermost v4Other requirements
```bash
$ pip install -r requirements.txt
```## Run
```bash
$ python app.py
```## Usage
Broly has two parts.
- Cron Job: Scheduled jobs which are performed on a fixed time interval
- Start with an intriguing thought of the day
- Prepare and post Weekly report
- Present a daily dose of memes
- Gather the status of PR on a daily basis
- Daily Horoscope
- Chatbot: The above things can also be requested at will
- Meme: Broly share a meme
- Thought of the day: Give me a tod
- Report: Show the contribution report
- PR status: pr status
- Horoscope: horoscope
## Screenshots![meme](https://user-images.githubusercontent.com/23444642/75647445-ff736080-5c72-11ea-865f-483d4d597c51.gif)
![pr](https://user-images.githubusercontent.com/23444642/75647617-87596a80-5c73-11ea-9c55-7fa8504307b5.gif)
![horo](https://user-images.githubusercontent.com/23444642/75647622-89bbc480-5c73-11ea-83a8-7b1ee776d830.gif)
![tod](https://user-images.githubusercontent.com/23444642/75647561-54af7200-5c73-11ea-853d-e2667e33d6b7.gif)
![report](https://user-images.githubusercontent.com/23444642/75647563-56793580-5c73-11ea-8451-6fd012feef11.gif)If you want API keys contact Me [[email protected]]([email protected])
Hope you had a nice time :smile:
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)