# SkyBot SkyBot is a Valour.gg bot built with .NET 10. --- ## Features - Designed for self-hosting - Open-source under AGPL-3.0 - Built with .NET 10 - Command system with automatic registration ### Command Categories - **Fun** — echo, 8ball, mock and similar utilities - **Info** — bot info, ping, uptime, command listing, planet/user info - **Moderation** — kick, ban, and per-channel command restrictions - **RP** — emotes (35 actions via nekos.best) and a marriage system - **Utils** — accept, decline, confirm, cancel for pending actions - **Dev** — owner-only tools including blacklist management, planet control, and message utilities Full command list: [COMMANDS.md](COMMANDS.md) --- ## Data & Privacy SkyBot stores only the minimum data required for operation. Marriage records, blacklist entries, and channel restrictions are 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 beyond what is needed for the marriage and blacklist systems Full privacy policy: [PRIVACY.md](PRIVACY.md) --- ## License This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. See the LICENSE file for details. Because this project is licensed under AGPL-3.0, if you modify and deploy it publicly (including as a hosted service), you must make your source code available under the same license. --- ## Requirements - .NET 10 - A Valour bot token --- ## Installation ```bash git clone cd SkyBot/SkyBot dotnet restore ``` All required NuGet packages will be installed automatically using the provided `SkyBot.csproj` file. --- ## Configuration Create a `.env` file in the root directory of the project: ``` TOKEN=your-bot-token-here ``` Then open `Config.cs` and update the following values: ```cs public static readonly long OwnerId = your-owner-id-here; public static readonly string Prefix = "your-prefix-here"; ``` - Replace `your-owner-id-here` with your Valour user ID. - Replace `your-prefix-here` with your desired command prefix (e.g. `sd/`). Never commit your `.env` file to the repository. Ensure it is listed in your `.gitignore`. --- ## Running the Bot ```bash dotnet run ```