{"id":43011166,"url":"https://github.com/pknull/pk.shado","last_synced_at":"2026-01-31T05:10:56.885Z","repository":{"id":55560118,"uuid":"69719537","full_name":"pknull/pk.shado","owner":"pknull","description":"Kik, python, and shadowrun. Living the outdated meme.","archived":false,"fork":false,"pushed_at":"2026-01-17T01:58:12.000Z","size":1231,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-17T14:08:12.963Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/pknull.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2016-10-01T04:33:33.000Z","updated_at":"2026-01-17T01:58:17.000Z","dependencies_parsed_at":"2025-12-07T05:02:46.596Z","dependency_job_id":null,"html_url":"https://github.com/pknull/pk.shado","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/pknull/pk.shado","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pknull%2Fpk.shado","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pknull%2Fpk.shado/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pknull%2Fpk.shado/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pknull%2Fpk.shado/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pknull","download_url":"https://codeload.github.com/pknull/pk.shado/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pknull%2Fpk.shado/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28929866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"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":[],"created_at":"2026-01-31T05:10:56.279Z","updated_at":"2026-01-31T05:10:56.878Z","avatar_url":"https://github.com/pknull.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pk.shado\n\nA Discord bot providing gaming RNG, character management, astrology, and fun commands.\n\n\u003e This project is partially managed by [Asha](https://github.com/pknull/asha), a Claude Code framework.\n\n## Setup\n\n1. Install Python 3.10 or newer.\n2. Install the dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. Set environment variables:\n   - `DISCORD_BOT_TOKEN` (required) - Your Discord bot token\n   - `OPENWEATHER_API_KEY` (optional) - For weather commands\n   - `OPENAI_API_KEY` (optional) - For AI-powered readings\n   - `GEONAMES_USERNAME` (optional) - For location geocoding\n4. Run the bot:\n   ```bash\n   python app.py\n   ```\n\nThe provided `Dockerfile` can also be used to build an image with the token\npassed at build time using the `TOKEN` build argument.\n\n## Commands\n\nAll commands use the `!` prefix.\n\n### AAS (Character Management - Call of Cthulhu 7e)\n\n| Command | Description |\n|---------|-------------|\n| `!aas create \u003cname\u003e [occupation]` | Create a new character |\n| `!aas sheet [@user]` | View character sheet |\n| `!aas stats \u003cSTR\u003e \u003cCON\u003e \u003cDEX\u003e \u003cSIZ\u003e \u003cPOW\u003e \u003cAPP\u003e \u003cINT\u003e \u003cEDU\u003e` | Set characteristics |\n| `!aas set \u003ctarget\u003e \u003cvalue\u003e` | Set a characteristic or resource |\n| `!aas skill \u003cname\u003e \u003cvalue\u003e` | Set a skill value |\n| `!aas skills [@user]` | List all skills |\n| `!aas import` | Import from Dhole's House JSON (attach file) |\n| `!aas export` | Export character to JSON |\n| `!aas delete [confirm]` | Delete your character |\n| `!aas check \u003cskill\u003e` | Mark skill for advancement check |\n| `!aas advance` | Roll advancement for checked skills |\n| `!aas spend \u003cskill\u003e [amount]` | Spend XP on a skill |\n| `!aas wound [on/off]` | Toggle major wound status |\n| `!aas save [note]` | Save a snapshot of your character |\n| `!aas history [count]` | View character history |\n| `!aas help [command]` | Show help for AAS commands |\n\n**Quick Roll Commands:**\n| Command | Description |\n|---------|-------------|\n| `!skill \u003cname\u003e [difficulty] [modifier]` | Roll a skill check |\n| `!char \u003cname\u003e [difficulty] [modifier]` | Roll a characteristic check |\n| `!hp [+/-amount]` | View or modify HP |\n| `!mp [+/-amount]` | View or modify MP |\n| `!san [+/-amount]` | View or modify Sanity |\n| `!luck [+/-amount]` | View or modify Luck |\n\n- **Difficulty**: `regular`, `hard`, or `extreme`\n- **Modifier**: `+1`, `+2` (bonus dice) or `-1`, `-2` (penalty dice)\n\n### Astrology\n\n| Command | Description |\n|---------|-------------|\n| `!astrology [daily/weekly/love/career] [sign]` | Get an astrological reading |\n| `!setbirthday \u003cdate time location\u003e` | Set your birth info for charts |\n| `!mybirthday` | View your stored birth info |\n| `!removebirthday` | Remove your birth data |\n| `!settimezone \u003ctz_string\u003e` | Set your timezone |\n| `!listtimezones` | List common timezone strings |\n| `!natalchart` | Get your detailed natal chart |\n| `!chartimage` | Generate a visual SVG chart |\n| `!zodiac` | Show astrology command info |\n\n### Games \u0026 RNG\n\n| Command | Description |\n|---------|-------------|\n| `!dice \u003cnotation\u003e` | Roll dice (e.g., `2d6+3`, `4d6kh3`) |\n| `!card \u003cdeck\u003e [count]` | Draw cards (e.g., `standard 5`, `tarot`) |\n| `!coin [count]` | Flip coins |\n| `!eightball` | Ask the magic 8-ball |\n| `!toss \u003citems\u003e [count] [unique]` | Pick from comma-separated list |\n\n### Weather\n\n| Command | Description |\n|---------|-------------|\n| `!weather \u003ccity\u003e` | Get current weather |\n| `!forecast \u003ccity\u003e` | Get 5-day forecast |\n\nRequires `OPENWEATHER_API_KEY` environment variable.\n\n### Hydration (Thirstyboi)\n\n| Command | Description |\n|---------|-------------|\n| `!sip [time]` | Log a drink |\n| `!total` | View drink count |\n| `!stop` | Stop reminders |\n| `!dmme` | Get reminders via DM |\n| `!allow_c` | Allow bot in this channel (admin) |\n\n### Utility\n\n| Command | Description |\n|---------|-------------|\n| `!clean [limit] [bulk]` | Delete messages (admin) |\n| `!remind \u003ctime\u003e \u003cmessage\u003e` | Set a reminder |\n| `!timer \u003ctime\u003e` | Start a countdown timer |\n| `!sr [count]` | Pick random server member(s) |\n| `!vr \u003ccount\u003e` | Pick random voice channel member(s) |\n| `!pins` | Show pinned message count |\n\n### Fun\n\n| Command | Description |\n|---------|-------------|\n| `!cipher` | Get a mystical AI-powered reading |\n| `!meme \u003cquery\u003e` | Search for a meme |\n| `!dog` | Random dog image |\n| `!headpat` | Headpat GIF |\n| `!hello [@user]` | Friendly greeting |\n\n## Architecture\n\nSee [ARCHITECTURE.md](ARCHITECTURE.md) for technical documentation.\n\n## Testing\n\n```bash\npytest tests/\n```\n\nSee [TESTING.md](TESTING.md) for the testing guide.\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for\ndetails.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpknull%2Fpk.shado","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpknull%2Fpk.shado","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpknull%2Fpk.shado/lists"}