This commit is contained in:
2026-05-05 16:20:23 +01:00
parent fd9c18d953
commit c0e90d633e
4 changed files with 71 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
# SkyBot Commands # 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 | | Command | Aliases | Description |
|---|---|---| |---|---|---|
| `help` | `cmds` | Shows all commands organised by category | | `help` | `cmds` | Shows all commands organised by category with an interactive embed |
| `source` | `src` | Link to the bot's source code | | `info <planet\|user> [@user]` | — | Shows detailed info about the current planet or a user |
| `version` | `ver` | Shows the bot version, Valour server version, and Valour SDK version (current and latest) |
| `source` | `src` | Link to the bot's source code | | `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) | | `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 <action> [@user]` | `e` | Send an animated RP emote. Target is optional for most actions. |
| `marriage <propose\|status\|divorce\|force> [...]` | `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 ## Dev
> These commands are only accessible to the bot owner. > These commands are only accessible to the bot owner.

View File

@@ -16,11 +16,19 @@ The Bot collects only the minimum data necessary to provide its intended functio
2. Planet IDs (for planet-specific operations) 2. Planet IDs (for planet-specific operations)
3. Member IDs (for command execution context) 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) 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 ### Information Never Stored
1. Message content 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) 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 1. Route commands to the correct channels and planets
2. Enable core bot functionality during the current session 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 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. 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 ## 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 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.
--- ---

View File

@@ -26,8 +26,11 @@ SkyBot is a Valour.gg bot built with .NET 10.
### Command Categories ### Command Categories
- **Fun** — utilities and silly stuff (echo) - **Fun** — echo and similar utilities
- **Info** — bot info and command listing - **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) Full command list: [COMMANDS.md](COMMANDS.md)
@@ -35,13 +38,13 @@ Full command list: [COMMANDS.md](COMMANDS.md)
## Data & Privacy ## 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: SkyBot does **not** store:
- Message content - Message content
- Direct messages - Direct messages
- Personal user data - Personal user data beyond what is needed for the marriage system
Full privacy policy: [PRIVACY.md](PRIVACY.md) Full privacy policy: [PRIVACY.md](PRIVACY.md)

View File

@@ -5,7 +5,7 @@
<TargetFramework>net10.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<Version>0.3.3.0</Version> <Version>0.3.3.1</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>