{"id":28003733,"url":"https://github.com/w9jds/beholder-bot","last_synced_at":"2026-05-08T05:38:03.712Z","repository":{"id":147898644,"uuid":"194222629","full_name":"w9jds/beholder-bot","owner":"w9jds","description":"Discord Bot to help DMs run their RPG games!","archived":false,"fork":false,"pushed_at":"2019-08-16T14:24:33.000Z","size":6265,"stargazers_count":12,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-16T01:11:27.769Z","etag":null,"topics":["discord","golang","hackweek","rpg"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/w9jds.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-28T06:49:25.000Z","updated_at":"2024-06-19T07:56:07.535Z","dependencies_parsed_at":"2023-05-27T21:00:31.478Z","dependency_job_id":null,"html_url":"https://github.com/w9jds/beholder-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fbeholder-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fbeholder-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fbeholder-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w9jds%2Fbeholder-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w9jds","download_url":"https://codeload.github.com/w9jds/beholder-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253176554,"owners_count":21866161,"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":["discord","golang","hackweek","rpg"],"created_at":"2025-05-09T02:20:11.724Z","updated_at":"2026-05-08T05:38:03.669Z","avatar_url":"https://github.com/w9jds.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beholder Discord Bot\r\n\r\n#### Created for Discord Hack Week 2019\r\n\r\nThe goal of this discord bot is to create a tool that helps DMs run their RPG games! There are loads of different tools online that will help you run a virtual table top RPG. However, Discord is one of the best solutions for setting up a voice and text channel for your group. So, unlike a normal Beholder, this bot will help you keep track and setup what you need.\r\n\r\n---\r\n## Install!\r\n\r\nIf you just want to add the bot to your server, you can just use this url to add it:\r\n\r\n[Add the Deholder Bot!](https://discordapp.com/api/oauth2/authorize?client_id=464308781501906944\u0026scope=bot\u0026permissions=8)\r\n\r\nHowever, if you would like to build and host it yourself, a `DockerFile` is provided for you. Just build the docker image, and then run it with the below environment variables filled in with your own information.\r\n\r\n---\r\n## Commands\r\n- `!createadventureparty [name] [@mention players]` (Done)\r\n    - This command automatically creates a category with a text and voice channel based on the name you pass the command. The person running the command is setup as the `DM` of the group, and gets admin for the category. All mentioned players are added to the permissions list as players, only getting permissions for reading, writing, and using the voice channel.\r\n- `!rollstats` (Planned) \r\n    - This command will role dice and output values for your stats that you can assign as you wish for a brand new DnD character.\r\n- `!setnextsession [datetime]` [DM Only] (Planned)\r\n    - Setting the next session with a datetime formatted like `mm/dd/yyyy hh:mm` will store when you are planing to play your next game.\r\n- `!nextsession` (Planned)\r\n    - Print out when the next session is scheduled for.\r\n- `!pollbestday` [DM Only] (Done)\r\n    - Create a reaction based poll to find out which day of the week is best suited for all of your players.\r\n- `!addmap [name]` [DM Only] (Done)\r\n    - Register a new map for the game channel you are in (only works in game text channels and requires a file to be attached).\r\n- `!getmap [name]` (Done)\r\n    - Pull the map with the name provided. This will pull the file from the message that is saved, and post it again automatically for you.\r\n\r\n## Environment Variables\r\n\r\n|Variables|Description|\r\n|---------|-----------|\r\n|`BOT_TOKEN`|Discord bot token|\r\n|`POSTGRES_HOST`|Postgres host, in this case Instance connection name `project-name:region:instance-name`|\r\n|`POSTGRES_DB`|database name|\r\n|`POSTGRES_PORT`|connection port|\r\n|`POSTGRES_USER`|bot user|\r\n|`POSTGRES_PASSWORD`|user password|\r\n\r\n## Components\r\n\r\nThis bot is currently powered by Postgres, and configured in the code to connect directly to a Google Cloud Platform Cloud SQL instance. However, it can easily be updated to just connect to a normal Postgres hosted instance.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw9jds%2Fbeholder-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw9jds%2Fbeholder-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw9jds%2Fbeholder-bot/lists"}