{"id":21511405,"url":"https://github.com/oakbrad/dungeonchurch-cogs","last_synced_at":"2026-05-17T21:02:17.182Z","repository":{"id":262183883,"uuid":"886459290","full_name":"oakbrad/dungeonchurch-cogs","owner":"oakbrad","description":"RPG and D\u0026D related cogs for RedBot-Discord","archived":false,"fork":false,"pushed_at":"2024-12-04T20:08:11.000Z","size":830,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T01:38:04.173Z","etag":null,"topics":["discord","discord-bot","discord-py","dnd","red-cogs","red-discord-bot-cogs","red-discordbot","redbot","redbot-cogs","redbotv3","rpg","ttrpg"],"latest_commit_sha":null,"homepage":"https://www.dungeon.church","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oakbrad.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":"2024-11-11T02:27:35.000Z","updated_at":"2024-12-04T20:08:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"142f5424-e38c-4687-a78b-8bf800f2df5d","html_url":"https://github.com/oakbrad/dungeonchurch-cogs","commit_stats":null,"previous_names":["oakbrad/dungeonchurch-cogs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakbrad%2Fdungeonchurch-cogs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakbrad%2Fdungeonchurch-cogs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakbrad%2Fdungeonchurch-cogs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakbrad%2Fdungeonchurch-cogs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oakbrad","download_url":"https://codeload.github.com/oakbrad/dungeonchurch-cogs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244056427,"owners_count":20390720,"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","discord-bot","discord-py","dnd","red-cogs","red-discord-bot-cogs","red-discordbot","redbot","redbot-cogs","redbotv3","rpg","ttrpg"],"created_at":"2024-11-23T22:08:10.892Z","updated_at":"2026-05-17T21:02:17.167Z","avatar_url":"https://github.com/oakbrad.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg width=\"650\" src=\"logo-chrome-red.png\"\u003e\u003cbr\u003e\n    \u003ca href=https://github.com/oakbrad/dungeonchurch\u003e\n        \u003cimg src=https://img.shields.io/github/last-commit/oakbrad/dungeonchurch?label=dungeonchurch\u0026color=gray\u0026labelColor=ff2600\u0026logo=github\u003e\n    \u003c/a\u003e\n    \u003ca href=https://github.com/oakbrad/dungeonchurch-pyora\u003e\n        \u003cimg src=https://img.shields.io/github/last-commit/oakbrad/dungeonchurch-pyora?label=dungeonchurch-pyora\u0026color=gray\u0026labelColor=ff2600\u0026logo=github\u003e\n    \u003c/a\u003e\n    \u003ca href=https://github.com/oakbrad/dungeonchurch-cogs\u003e\n        \u003cimg src=https://img.shields.io/github/last-commit/oakbrad/dungeonchurch-cogs?label=dungeonchurch-cogs\u0026color=gray\u0026labelColor=ff2600\u0026logo=github\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n# Dungeon Church Cogs\n[Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot/releases) cogs by the [Dungeon Church](https://www.dungeon.church) RPG group.\n\nFocused on making RPG, D\u0026D, \u0026 game related cogs - ideas or pull requests welcome.\n\n## Installation\nTo add these cogs to your instance, run this command first (`[p]` is your bot prefix):\n\n```\n[p]repo add dungeonchurch https://github.com/oakbrad/dungeonchurch-cogs\n```\n\nThen install your cog(s) of choice:\n\n```\n[p]cog install dungeonchurch \u003ccog_name\u003e\n```\n\nFinally, load your cog(s):\n\n```\n[p]load \u003ccog_name\u003e\n```\n## API Keys\n\nFor cogs that need API keys, set them globally in Red's shared API storage:\n\n```\n[p]set api openai api_key,\u003cpaste here\u003e\n[p]set api googlesheets api_key,\u003cpaste here\u003e\n[p]set api ghost key_id,\u003cid\u003e key_secret,\u003csecret\u003e\n[p]set api outline api_key,\u003cpaste here\u003e\n```\n\n## Slash Commands\nTo register slash commands, first load the cog, then list the commands available. Enable the commands you want to register, then sync them with Discord.\n\n```\n[p]slash list\n[p]slash enable \u003ccommand\u003e\n[p]slash sync\n```\n\n# Cogs\nCurrent cogs and their commands. `[p]` is your bot prefix, `/` slash commands indicate a hybrid command. \n\n## augury\nA simple roller that transforms into a customizable NPC when you add an OpenAI API key.\n* `/augury` make an appeal to the gods\n* `[p]augur` to change settings\n\n## dice\nForked from [PCXCogs](https://github.com/PhasecoreX/PCXCogs). I added better formatting and commands useful for RPG players, including contested rolls.\n* `/roll` roll complicated [dice formulas](https://github.com/StarlitGhost/pyhedrals)\n* `/qr \u003cmod\u003e \u003c@mention\u003e` quick roll 1d20, optionally challenge with a mention\n* `/adv \u003cmod\u003e` quick roll 2d20dl\n* `/dis \u003cmod\u003e` quick roll 2d20dh\n* `/randstats` roll ability scores within a set range\n* `/flipcoin \u003c@mention\u003e` flip a coin, get heads or tails. Mention to have someone else call it.\n* `/eightball` ask the Magic 8 Ball\n* `[p]diceset` to change settings\n\n## dragonchess (threes)\nThe dice game threes, aka dragonchess if you play in [Pyora](https://github.com/oakbrad/dungeonchurch-pyora). Tracks stats per player and a leaderboard.\n* `/threes rules` show the rules\n* `/threes play \u003c@mention\u003e` start a game with an optional challenge, otherwise it's open to first comer\n* `/threes leaderboard` server rankings\n* `/threes stats \u003c@mention\u003e` see player stats, defaults to self with no mention\n* `[p]dc` settings, reset rankings, set timeout, debug game state\n\n## ghostsync\nTools for linking [Ghost](https://ghost.org) members to Discord accounts, syncing subscription status to a Discord role, and syncing Discord roles to Ghost labels. This allows you to reward Ghost subscribers with Discord roles, or segment your Ghost newsletters by Discord roles. Requires setting a Ghost Integration Admin API key \u0026 secret.\n\n\u003e **Privacy Note:** this cog stores the user's numeric Discord ID in the Ghost Member Profile, under the private \"Note\". This is visible to any Ghost staff that can see the Member list.\n\n**Configuration**\n* `[p]ghostsync url` base API URL\n* `[p]ghostsync interval` how often to sync in seconds\n* `[p]ghostsync logchannel` report API failures to this channel\n* `[p]ghostsync settings` view current settings\n\n**Ghost Subscription → Discord Role**\n* `[p]ghostsync role` role added/removed based on Ghost paid (or comped) subscription\n* `[p]ghostsync rolesync` sync a secondary role (ex: Server Boosters) to the primary role\n\n**Discord Role → Ghost Label**\n* `[p]ghostsync label \u003c@role\u003e \u003clabel_name\u003e` map a Discord role to a Ghost label\n* `[p]ghostsync labelrem \u003c@role\u003e` remove a label mapping\n* `[p]ghostsync labels` list all label mappings\n\n**Member Management**\n* `[p]ghostsync link \u003cemail\u003e \u003c@mention\u003e` link a member email to a Discord user (stores ID in Member Note)\n* `[p]ghostsync unlink \u003cemail OR @mention\u003e` unlink a user (removes ID from Member Note)\n* `[p]ghostsync members` list all linked members\n* `[p]ghostsync subscribers` list linked subscribers \u0026 their subscripßtion tier name\n* `[p]ghostsync orphans` list Discord members not linked to Ghost\n* `[p]ghostsync sync` force a syncß\n\n## lore\nSearch and use an [Outline](https://getoutline.com) wiki in the chat.\n\n* `/lore wiki \u003cquery\u003e` searches and returns the first article's content\n* `/lore search \u003cquery\u003e` returns the first 5 search results with buttons to load those articles\n* `/lore link \u003cquery\u003e` searches and returns just a link (and with optional AI key, a one sentence summary)\n* `[p]loreconfig` set base URL \u0026 prompts\n\n## q3stat\nQuake III Arena [server](https://quake.dungeon.church) notifications with [qstat](https://github.com/Unity-Technologies/qstat). Run qstat via crontab on your server to output JSON to a publicly accessible file:\n```\nqstat -json -P -q3s dungeon.church:27960 \u003e /var/www/html/qstat.json\n```\n* `[p]q3stat` to set the URL of that file \u0026 notification options.\n## randomstatus\nMake a list of status activities, then cycle through them randomly or sequentially at a set interval.\n* `/randomstatus` to change settings\n\n## rollfood\nRolls a random restaurant from a Google Sheet and provides a link to order. The sheet should have two columns: the restaurant name, and the URL for ordering. Requires [Google Sheets API](https://console.cloud.google.com/flows/enableapi?apiid=sheets.googleapis.com) key.\n* `/rollfood` rolls for food\n* `/addfood` links to the spreadsheet\n* `[p]foodconfig sheet` to set the Sheet ID\n* `[p]foodconfig prompt` set an optional prompt for your bot\n\n# Local Development\nTo work on cogs locally, run the bot in a container:\n```yaml\nservices:\n  redbotdev:\n    container_name: redbotdev\n    image: phasecorex/red-discordbot\n    restart: unless-stopped\n    volumes:\n      - /tmp/redbotdev:/data\n      - /path/to/local/dungeonchurch-cogs:/devcogs\n    environment:\n      - TOKEN=\n      - PREFIX=!\n      - TZ=America/Los_Angeles\n      - PUID=1000\n      - OWNER=\n```\nAdd the path and downloader. Locally installed cogs need their dependencies installed manually.\n```\n[p]addpath /devcogs\n[p]load downloader\n[p]pipinstall \u003cdependency\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakbrad%2Fdungeonchurch-cogs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foakbrad%2Fdungeonchurch-cogs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakbrad%2Fdungeonchurch-cogs/lists"}