From c0e90d633e11a078ed82dd80c80b577d8f335339 Mon Sep 17 00:00:00 2001 From: skyjoshua Date: Tue, 5 May 2026 16:20:23 +0100 Subject: [PATCH] 0.3.3.1 --- COMMANDS.md | 53 ++++++++++++++++++++++++++++++++++++++++---- PRIVACY.md | 18 +++++++++++---- README.md | 11 +++++---- SkyBot/SkyBot.csproj | 2 +- 4 files changed, 71 insertions(+), 13 deletions(-) diff --git a/COMMANDS.md b/COMMANDS.md index 7be2eee..d7aeb1a 100644 --- a/COMMANDS.md +++ b/COMMANDS.md @@ -1,6 +1,6 @@ # SkyBot Commands -All commands are prefixed with your configured prefix (e.g. `s/`). Arguments in `[brackets]` are optional. +All commands are prefixed with your configured prefix (e.g. `sd/`). Arguments in `[brackets]` are optional. --- @@ -16,14 +16,59 @@ All commands are prefixed with your configured prefix (e.g. `s/`). Arguments in | Command | Aliases | Description | |---|---|---| -| `help` | `cmds` | Shows all commands organised by category | -| `source` | `src` | Link to the bot's source code | -| `version` | `ver` | Shows the bot version, Valour server version, and Valour SDK version (current and latest) | +| `help` | `cmds` | Shows all commands organised by category with an interactive embed | +| `info [@user]` | — | Shows detailed info about the current planet or a user | | `source` | `src` | Link to the bot's source code | | `version` | `ver` | Shows the bot version, Valour server version, and Valour SDK version (current and latest) | --- +## Moderation + +> Requires the appropriate planet permissions. + +| Command | Aliases | Description | +|---|---|---| +| `kick <@member\|id> [reason]` | — | Kicks a member from the planet. Sends them a DM embed before kicking. | +| `ban <@member\|id> [duration] [reason]` | — | Bans a member from the planet. Duration is optional (e.g. `7d`, `2h`, `30m`). Permanent if omitted. | + +--- + +## RP + +| Command | Aliases | Description | +|---|---|---| +| `emote [@user]` | `e` | Send an animated RP emote. Target is optional for most actions. | +| `marriage [...]` | `marry` | Marriage system — propose, check status, or divorce. | + +### emote actions + +`angry`, `baka`, `bite`, `blowkiss`, `blush`, `bonk`, `carry`, `clap`, `cry`, `cuddle`, `dance`, `facepalm`, `happy`, `holdhand`, `hug`, `kiss`, `laugh`, `lurk`, `nom`, `nya`, `pat`, `poke`, `pout`, `punch`, `run`, `shocked`, `sleep`, `smug`, `spin`, `tableflip`, `teehee`, `tickle`, `wave`, `wink`, `yawn` + +### marriage subcommands + +| Subcommand | Usage | Description | +|---|---|---| +| `propose` | `marriage propose` | Propose to someone (reply to their message or mention them) | +| `status` | `marriage status [@user]` | Check your own or another user's marriage status | +| `divorce` | `marriage divorce` | Begin a divorce (requires `confirm` to finalise) | +| `force` | `marriage force marry @u1 @u2` / `marriage force divorce @user` | Owner only — force marry or divorce users | + +--- + +## Utils + +> These commands respond to pending actions created by other commands. + +| Command | Aliases | Description | +|---|---|---| +| `accept` | — | Accept a pending action (e.g. a marriage proposal) | +| `decline` | — | Decline a pending action | +| `confirm` | — | Confirm a pending action (e.g. a divorce) | +| `cancel` | — | Cancel a pending action | + +--- + ## Dev > These commands are only accessible to the bot owner. diff --git a/PRIVACY.md b/PRIVACY.md index aff9cef..204f491 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -16,11 +16,19 @@ The Bot collects only the minimum data necessary to provide its intended functio 2. Planet IDs (for planet-specific operations) 3. Member IDs (for command execution context) 4. Echo message mappings (command message ID → echoed message ID, used to delete echoed messages if the original is deleted) +5. Pending marriage proposals (user ID pairs and expiry times, cleared on acceptance, decline, expiry, or restart) +6. Pending divorce confirmations (user ID and expiry time, cleared on confirm, cancel, expiry, or restart) + +### Information Persisted to Disk + +The following data is written to a local SQLite database (`database.db`) and is retained across restarts: + +1. Marriage records — the Valour user IDs of both partners and the timestamp the marriage was created ### Information Never Stored 1. Message content -2. Direct Messages ("DMs") +2. Direct messages sent by the bot to users as part of moderation actions 3. Personal account information (including usernames, email addresses, or other personally identifiable information) --- @@ -32,6 +40,7 @@ Temporarily held information is used exclusively to: 1. Route commands to the correct channels and planets 2. Enable core bot functionality during the current session 3. Track echo message pairs to support automatic cleanup when the original command message is deleted +4. Operate the marriage system (tracking active marriages and pending proposals/divorces) The Bot does not use any information for profiling, marketing, analytics, or tracking purposes. @@ -39,13 +48,14 @@ The Bot does not use any information for profiling, marketing, analytics, or tra ## 3. Data Storage and Security -All data is stored in-memory only and is automatically cleared when the Bot restarts. No data is written to disk or sent to any external storage or cloud service. +In-memory data is automatically cleared when the Bot restarts. Marriage records are written to a local SQLite database file (`database.db`) on the machine running the bot. No data is sent to any external storage or cloud service. The Bot does not sell, rent, trade, or otherwise share any data with third parties. -The Bot makes outbound requests to the following third-party APIs. These requests do not include any user data: +The Bot makes outbound requests to the following third-party APIs: -- **NuGet** (api.nuget.org) — fetched by the `version` command to check the latest Valour SDK version +- **NuGet** (api.nuget.org) — fetched by the `version` command to check the latest Valour SDK version. No user data is included. +- **nekos.best** (nekos.best) — fetched by the `emote` command to retrieve animated GIFs. No user data is included. --- diff --git a/README.md b/README.md index 7ff5006..bf41518 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,11 @@ SkyBot is a Valour.gg bot built with .NET 10. ### Command Categories -- **Fun** — utilities and silly stuff (echo) -- **Info** — bot info and command listing +- **Fun** — echo and similar utilities +- **Info** — bot info, command listing, planet/user info +- **Moderation** — kick and ban with reason and duration support +- **RP** — emotes (35 actions via nekos.best) and a marriage system +- **Utils** — accept, decline, confirm, cancel for pending actions Full command list: [COMMANDS.md](COMMANDS.md) @@ -35,13 +38,13 @@ Full command list: [COMMANDS.md](COMMANDS.md) ## Data & Privacy -SkyBot stores only the minimum data required for operation. All data is stored in-memory and is lost on restart. No data is persisted to disk. +SkyBot stores only the minimum data required for operation. Marriage data is persisted to a local SQLite database. All other data is stored in-memory and is lost on restart. SkyBot does **not** store: - Message content - Direct messages -- Personal user data +- Personal user data beyond what is needed for the marriage system Full privacy policy: [PRIVACY.md](PRIVACY.md) diff --git a/SkyBot/SkyBot.csproj b/SkyBot/SkyBot.csproj index e44f24c..39d7349 100644 --- a/SkyBot/SkyBot.csproj +++ b/SkyBot/SkyBot.csproj @@ -5,7 +5,7 @@ net10.0 enable enable - 0.3.3.0 + 0.3.3.1