Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 1 addition & 31 deletions COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Complete reference for every slash command KoolBot registers with Discord.

KoolBot's slash-command surface is intentionally small. All
**day-to-day chat interaction** stays in Discord (`/ping`, `/voicestats`,
`/seen`, `/quote`, `/achievements`, `/amikool`, `/help`). All
`/seen`, `/quote`, `/achievements`, `/help`). All
**administration and configuration** lives in the Web UI, reached via the
single `/config` launcher.

Expand All @@ -24,7 +24,6 @@ single `/config` launcher.
- [/seen](#seen)
- [/achievements](#achievements)
- [/quote](#quote)
- [/amikool](#amikool)
- [Admin: Web UI launcher](#-admin-web-ui-launcher)
- [/config](#config)
- [Voice Channel Control Panel](#voice-channel-control-panel)
Expand Down Expand Up @@ -370,33 +369,6 @@ and is auto-recreated if deleted.

---

### `/amikool`

**Description:** Check if you have a specific role (fun role verification).

**Enable:** Web UI → Settings:

- `amikool.enabled = true`
- `amikool.role.name = "Kool Members"` (or whatever role you check for)

Then reload commands.

**Usage:**

```text
/amikool
```

**Example responses:**

```text
✅ Yes, you are kool! You have the "Kool Members" role.

❌ Sorry, you don't have the "Kool Members" role.
```

---

## 🔧 Admin: Web UI launcher

KoolBot has exactly one admin slash command. It does one thing: mint a
Expand Down Expand Up @@ -608,7 +580,6 @@ button to admit them. **🗑️ Remove Waiting Room** deletes it.
| `/achievements` | Everyone\* | Achievements enabled |
| `/seen` | Everyone\* | Voice tracking + seen enabled |
| `/quote` | Everyone\* | Quotes enabled |
| `/amikool` | Everyone\* | Command enabled + role configured |

\* Per-command role gating can be added in the Web UI's **Permissions** page.

Expand Down Expand Up @@ -665,7 +636,6 @@ The bot needs these Discord permissions:
/seen user:@User # Last-seen lookup
/quote add text:"..." author:@User # Add a quote
/quote edit id:"..." [text:"..."] [author:@User]
/amikool # Role verification
```

### Admin command
Expand Down
1 change: 0 additions & 1 deletion DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ src/
├── index.ts # Entry point, service initialization, Express bootstrap
├── commands/ # Discord slash commands (small surface from v1.0)
│ ├── achievements.ts
│ ├── amikool.ts
│ ├── config.ts # Web UI launcher (the only admin command)
│ ├── help.ts
│ ├── ping.ts
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ commands always registered):
- `/seen` — Last-seen lookup (`voicetracking.seen.enabled`)
- `/achievements` — View earned accolades (`achievements.enabled`)
- `/quote add` / `/quote edit` — Manage memorable quotes (`quotes.enabled`)
- `/amikool` — Role verification (`amikool.enabled`)

A fresh install only sees `/help` and `/config` in Discord until you
enable the others on the Settings page and click **Reload commands to
Expand Down
19 changes: 0 additions & 19 deletions SETTINGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ Complete configuration reference for all KoolBot settings.
- [Reaction Roles](#-reaction-roles)
- [Leaderboard Role Rewards](#-leaderboard-role-rewards)
- [Discord Logging](#-discord-logging)
- [Fun Features](#-fun-features)
- [Rate Limiting](#-rate-limiting)
- [Permissions & Access Control](#-permissions--access-control)
- [Configuration Management](#-configuration-management) — Using the Web UI
Expand Down Expand Up @@ -141,8 +140,6 @@ effect on whether the command appears in Discord.)
| Setting | Default | Description |
| --- | --- | --- |
| `ping.enabled` | `false` | Enable/disable the `/ping` command |
| `amikool.enabled` | `false` | Enable/disable the `/amikool` command |
| `amikool.role.name` | `""` | Role name to check for `/amikool` verification |
| `quotes.enabled` | `false` | Enable/disable the quote system |

After changing any `*.enabled` value, click **Reload commands to
Expand Down Expand Up @@ -634,16 +631,6 @@ or split them across `#bot-status`, `#admin-alerts`, `#bot-logs`, etc.

---

## 🎭 Fun Features

Easter eggs and passive listeners.

| Setting | Default | Description |
| --- | --- | --- |
| `fun.friendship` | `false` | Respond to "best ship" and "worst ship" mentions |

---

## 🔒 Rate Limiting

Protect your bot from command spam with global rate limiting.
Expand Down Expand Up @@ -768,8 +755,6 @@ above).
#### Commands

- `ping.enabled` (bool, default: false)
- `amikool.enabled` (bool, default: false)
- `amikool.role.name` (string, default: "")
- `quotes.enabled` (bool, default: false)

#### Setup Wizard
Expand Down Expand Up @@ -868,10 +853,6 @@ above).
- `core.cron.enabled` (bool, default: false)
- `core.cron.channel_id` (string, default: "")

#### Fun Features

- `fun.friendship` (bool, default: false)

#### Rate Limiting

- `ratelimit.enabled` (bool, default: false)
Expand Down
2 changes: 1 addition & 1 deletion WEBUI.md
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ side effect, since the HMAC key changes.
| **Bootstrap** | (new — read-only env diagnostics) |

User-facing commands (`/ping`, `/voicestats`, `/seen`, `/quote`,
`/achievements`, `/amikool`, `/help`) are **not** affected and stay in
`/achievements`, `/help`) are **not** affected and stay in
Discord exactly as before. The per-voice-channel control panel (rename,
privacy, invite, transfer, live, waiting room) also stays in Discord —
it's a member-facing feature, not an admin tool.
Expand Down
103 changes: 0 additions & 103 deletions __tests__/commands/amikool.test.ts

This file was deleted.

5 changes: 0 additions & 5 deletions __tests__/services/config-schema.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ describe('Config Schema', () => {
expect(defaultConfig['voicechannels.enabled']).toBe(false);
expect(defaultConfig['voicetracking.enabled']).toBe(false);
expect(defaultConfig['ping.enabled']).toBe(false);
expect(defaultConfig['amikool.enabled']).toBe(false);
expect(defaultConfig['quotes.enabled']).toBe(false);
});

Expand Down Expand Up @@ -39,10 +38,6 @@ describe('Config Schema', () => {
expect(typeof defaultConfig['voicetracking.cleanup.schedule']).toBe('string');
});

it('should have fun features as boolean values', () => {
expect(typeof defaultConfig['fun.friendship']).toBe('boolean');
});

it('should have channel_id fields as strings', () => {
expect(typeof defaultConfig['core.cleanup.channel_id']).toBe('string');
expect(typeof defaultConfig['quotes.channel_id']).toBe('string');
Expand Down
38 changes: 0 additions & 38 deletions __tests__/services/friendship-listener.test.ts

This file was deleted.

2 changes: 0 additions & 2 deletions __tests__/services/settings-metadata.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,8 @@ describe("settingsMetadata", () => {
"voicetracking",
"ping",
"help",
"amikool",
"quotes",
"core",
"fun",
"ratelimit",
"announcements",
"achievements",
Expand Down
42 changes: 0 additions & 42 deletions src/commands/amikool.ts

This file was deleted.

5 changes: 0 additions & 5 deletions src/commands/help.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,6 @@ const commandDetails: Record<
usage: "/quote text:<text> author:<author>",
configKey: "quotes.enabled",
},
amikool: {
description: "Check if you have the kool role.",
usage: "/amikool",
configKey: "amikool.enabled",
},
voicestats: {
description: "View voice channel statistics (top users or per-user).",
usage: "/voicestats <top|user> [options]",
Expand Down
6 changes: 0 additions & 6 deletions src/commands/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { ChatInputCommandInteraction } from "discord.js";
import logger from "../utils/logger.js";
import { execute as ping } from "./ping.js";
import { execute as amikool } from "./amikool.js";
import { execute as voicestats } from "./voicestats.js";
import { execute as seen } from "./seen.js";
import { execute as configCommand } from "./config.js";
Expand All @@ -21,11 +20,6 @@ const commands: Record<
await ping(interaction);
}
},
amikool: async (interaction) => {
if (await configService.getBoolean("amikool.enabled", false)) {
await amikool(interaction);
}
},
voicestats: async (interaction) => {
if (await configService.getBoolean("voicetracking.enabled", false)) {
await voicestats(interaction);
Expand Down
Loading
Loading