{"id":49823420,"url":"https://github.com/kartonrad/activityrole-bot","last_synced_at":"2026-05-13T13:55:50.116Z","repository":{"id":40722876,"uuid":"256276823","full_name":"kartonrad/activityrole-bot","owner":"kartonrad","description":"A bot for discord that will assign Roles based on the Games that the Servers Members currently play.","archived":false,"fork":false,"pushed_at":"2026-04-10T03:33:19.000Z","size":73,"stargazers_count":10,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-13T13:55:46.164Z","etag":null,"topics":["bot","discord","games"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kartonrad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-16T16:56:57.000Z","updated_at":"2026-02-10T21:48:45.000Z","dependencies_parsed_at":"2022-09-11T23:10:37.834Z","dependency_job_id":null,"html_url":"https://github.com/kartonrad/activityrole-bot","commit_stats":null,"previous_names":["kartonrad/activityrole-bot"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kartonrad/activityrole-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kartonrad%2Factivityrole-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kartonrad%2Factivityrole-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kartonrad%2Factivityrole-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kartonrad%2Factivityrole-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kartonrad","download_url":"https://codeload.github.com/kartonrad/activityrole-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kartonrad%2Factivityrole-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32985763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","discord","games"],"created_at":"2026-05-13T13:55:49.372Z","updated_at":"2026-05-13T13:55:50.112Z","avatar_url":"https://github.com/kartonrad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# activityrole-bot\nA Discord Bot that will assign roles based on the Games that a Member is currently playing.\n\n\u003cimg width=\"1470\" height=\"728\" alt=\"activityrolebot_console\" src=\"https://github.com/user-attachments/assets/40e5f397-c187-4699-8501-5a7a212bb712\" /\u003e\n\nRoles are assigned to a member when a Game is opened, closed or refreshes it's Presence on Discord. \nPlayers that we're already playing when the bot looged in won't be assigned a role (yet).\n\nThe Bot needs the MANAGE_ROLES Permission on your Server, and only Members with Roles that are **lower** in the [Hierarchy](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) will be assigned Activity-Roles(tm).\n\n## Security Considerations and Quirks\nThere are a few quirks too be considered:\n- Games that are not registered as a [Discord Application](https://discordapp.com/developers/docs/intro) are ignored by the bot (most of the are dw)\n  - this prevents members from giving themselves arbritrary roles by manipulating `Settings\u003eGame Activity`\n- The Bot will assign any role matching the Name of the Activity\n  - Make sure no important Admin/Moderator Role has a name matching **any** game registered with Discord\n  - If you have a role that should **never** be tampered with by the bot, make sure that it's above the Bot's Role in the [Hierarchy](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101)\n- Some Games (annoyingly) register both their Launcher AND the actual Game with Discord, resulting in multiple roles being created and assigned to the ones playing it.\n- You can instruct the bot to use a specific **alias** instead of the default name, by editing `.config/default.json`\n  - This way you can prevent Games from showing up twice and use creative Rolenames\n  - the config file is already preconfigured to rename Rainbow Six Siege and it's annoying duplicate\n\n## Optaining a Discord API token\nYou will need a token to run the bot.\n1. Create a Discord [Application](https://discordapp.com/developers/applications)\n2. Navigate to the `Bot` Tab on the right side.\n3. Select \"add Bot\" and confirm.\n4. And finally: Reveal and copy the token!\n\n## Brief Setup Guide\n1. Provide a Discord API access token in `.config/default.json`\n2. Install dependencies `npm install`\n3. Run the bot with `npm start`\n\nAlternatively, run using docker compose:\n1. Edit `.config/default.json`\n2. Run `ACCESS_TOKEN=\"...\" docker compose up` in Bash or `$env:ACCESS_TOKEN=\"..\" docker compose up` in Powershell\n\nIf you want to run this thing with docker, independantly from compose,\nthat the Volume `/home/node/.config` is bound to a `.config` folder, containing your configuration.\nOtherwise, the Docker Container will run using the default configuration.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkartonrad%2Factivityrole-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkartonrad%2Factivityrole-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkartonrad%2Factivityrole-bot/lists"}