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.
Go to System Console -> Integration Management Follow steps 1->2->3
Enable Bot Accounts
Create Bots
Note the Bot access token, It is needed as API Key for command line
Editing config file
# 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
Reddit API Go to app preferences 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
Account Settings -> Security -> Personal Access Tokens
$ python config.py
[{"id":"xh956esr83bhpkom35zekfzxdy","create_at":1583095734153,"update_at":1583095734153,"delete_at":0,"display_name":"BotFest","name":"botfest","description":"","email":"test@test.com","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
TEAM_ID = "xh956esr83bhpkom35zekfzxdy"
ORG_NAME = 'mattermost' # Organization name on Github eg. 'mattermost'
PROJECTS = ['mattermost-mobile'] # list conatining projects eg. ['mattermost-mobile']
- Python v3
- Mattermost v4
Other requirements
$ pip install -r requirements.txt
$ python app.py
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
If you want API keys contact Me mehulkumarnirala@gmail.com
Hope you had a nice time 😄