{"id":18844069,"url":"https://github.com/mulx10/broly","last_synced_at":"2025-10-16T17:12:35.865Z","repository":{"id":53644909,"uuid":"239486504","full_name":"MuLx10/Broly","owner":"MuLx10","description":"An all in one bot for the communication, management, fun, productivity of the developers participating in a project.  Deployment of builds \u0026 automating response management Tracking pull requests, build results \u0026 logs. Weekly report appreciating the significant contributions. Extracting memes, thought of the day, horoscope etc.","archived":false,"fork":false,"pushed_at":"2021-03-20T02:56:05.000Z","size":485,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-30T13:10:39.251Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://mm-broly.herokuapp.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MuLx10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-10T10:37:34.000Z","updated_at":"2020-09-05T08:06:28.000Z","dependencies_parsed_at":"2022-09-11T23:50:38.604Z","dependency_job_id":null,"html_url":"https://github.com/MuLx10/Broly","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuLx10%2FBroly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuLx10%2FBroly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuLx10%2FBroly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuLx10%2FBroly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MuLx10","download_url":"https://codeload.github.com/MuLx10/Broly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239780815,"owners_count":19695891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-11-08T02:59:41.635Z","updated_at":"2025-10-16T17:12:30.813Z","avatar_url":"https://github.com/MuLx10.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Broly\nAn all in one bot for the communication, management, fun, productivity of the developers participating in a project.\n* Deployment of builds \u0026 automating response management\n* Tracking pull requests, build results \u0026 logs.\n* Weekly report appreciating the significant contributions.\n* Extracting memes, thought of the day, horoscope etc.\n\n\n## Setup\n### Enable Access Token\n\nGo to System Console -\u003e Integration Management\nFollow steps 1-\u003e2-\u003e3\n\n![](https://github.com/MuLx10/Broly/raw/master/images/access_token.png)\n\n### Create a bot\n\n**Enable Bot Accounts**\n\n![](https://github.com/MuLx10/Broly/raw/master/images/bot_acc.png)\n\n\n**Create Bots**\n\n![](https://github.com/MuLx10/Broly/raw/master/images/new_bot1.png)\n![](https://github.com/MuLx10/Broly/raw/master/images/new_bot2.png)\n\n\nNote the Bot access token, It is needed as API Key for command line\n\n![](https://github.com/MuLx10/Broly/raw/master/images/bot_token.png)\n\n### Editing [config](config.py) file\n\n```python\n# Github API\nGH_API_KEY = os.getenv('GH_API_KEY', 'Fill here or add to the environment variable')\n\n# Reddit API\nREDDIT_API_CLIENT_ID = os.getenv('REDDIT_API_CLIENT_ID', 'Fill here or add to the environment variable') \nREDDIT_API_CLIENT_SECRET = os.getenv('REDDIT_API_CLIENT_SECRET', 'Fill here or add to the environment variable')\nREDDIT_API_USER_AGENT = \"Meme collector\"\n\nBOT_API_KEY = os.getenv('BOT_API_KEY', 'Fill here or add to the environment variable') # Mattermost Broly bot access token\nADMIN_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)\nMATTERMOST_URL = \"https://mm-broly.herokuapp.com\" # Mattermost url\n```\n**Github API**\nResource can be found [here](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)\n\n**Reddit API**\nGo 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\n\n![](https://miro.medium.com/max/1866/1*3f6GfvGuHJIcqum74k3xBw.png)\n![](https://miro.medium.com/max/1884/1*C-xVOOFOqV877jdZeCZ4sw.png)\n\n### Get Teams\nAccount Settings -\u003e Security -\u003e Personal Access Tokens\n\n```bash\n$ python config.py\n[{\"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}]\n```\n\nChoose the team id and add it in config.py\n\n```python \nTEAM_ID = \"xh956esr83bhpkom35zekfzxdy\"\nORG_NAME = 'mattermost' # Organization name on Github eg. 'mattermost'\nPROJECTS = ['mattermost-mobile'] # list conatining projects eg. ['mattermost-mobile']\n```\n\n### Requirements \u0026 Installation\n\n* Python v3\n* Mattermost v4\n\nOther requirements\n```bash\n$ pip install -r requirements.txt\n```\n\n## Run\n\n```bash\n$ python app.py\n```\n\n## Usage\n\nBroly has two parts.\n- Cron Job: Scheduled jobs which are performed on a fixed time interval\n  - Start with an intriguing thought of the day\n  - Prepare and post Weekly report\n  - Present a daily dose of memes\n  - Gather the status of PR on a daily basis\n  - Daily Horoscope\n- Chatbot: The above things can also be requested at will\n  - Meme: Broly share a meme\n  - Thought of the day: Give me a tod\n  - Report: Show the contribution report\n  - PR status: pr status\n  - Horoscope: horoscope\n  \n  \n## Screenshots\n\n![meme](https://user-images.githubusercontent.com/23444642/75647445-ff736080-5c72-11ea-865f-483d4d597c51.gif)\n![pr](https://user-images.githubusercontent.com/23444642/75647617-87596a80-5c73-11ea-9c55-7fa8504307b5.gif)\n![horo](https://user-images.githubusercontent.com/23444642/75647622-89bbc480-5c73-11ea-83a8-7b1ee776d830.gif)\n![tod](https://user-images.githubusercontent.com/23444642/75647561-54af7200-5c73-11ea-853d-e2667e33d6b7.gif)\n![report](https://user-images.githubusercontent.com/23444642/75647563-56793580-5c73-11ea-8451-6fd012feef11.gif)\n\n\nIf you want API keys contact Me [mehulkumarnirala@gmail.com](mehulkumarnirala@gmail.com)\n\nHope you had a nice time :smile:\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmulx10%2Fbroly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmulx10%2Fbroly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmulx10%2Fbroly/lists"}