Files
SkyBot/README.md

3.6 KiB

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

Fun

  • 8ball — ask the magic 8 ball a question
  • coinflip — flip a coin
  • dice — roll a die
  • rockpaperscissors — play rock paper scissors against the bot
  • choose — pick one of the given options
  • echo — repeat text through the bot
  • reverse — reverse yours or a replied message
  • mock — mOcK tExT
  • t9encode / t9decode — encode or decode old phone keypad multi-tap digits
  • hangman — channel-wide game of hangman with optional category (hg <letter or word> to guess)
  • wordle — channel-wide Wordle; guess the 5-letter word in 6 tries (wg <word> to guess)
  • trivia — channel-wide trivia question with 30 seconds to answer (tg <A/B/C/D> to guess)
  • image — fetch a random image matching your search (aliases: img)

Chill

  • cat — post a random cat picture
  • hug — send a hug with a random gif

Info

  • ping — check bot latency
  • uptime — show how long the bot has been running
  • info — user and planet info
  • version — show the current bot and Valour SDK version
  • usercount — show the total Valour user count
  • source — link to the bot's source code
  • joinsite — link to a site to help bots join a planet
  • devcentral — invite link to the Dev Central planet
  • swagger — link to the Valour API docs
  • minecraft — Unofficial ValourSMP server IPs
  • suggest — submit a suggestion for the bot

Moderation

  • ban / unban / kick — member moderation
  • bans — list all bans in the planet
  • setwelcome — configure a welcome channel and message

Data & Privacy

SkyBot stores only the minimum data required for operation. Most data is stored in-memory and is lost on restart. A small amount of server configuration data is persisted to a local SQLite database for the welcome system.

SkyBot does not store:

  • Message content
  • Direct messages
  • Personal user data

Full privacy policy: https://git.skyjoshua.xyz/SkyJoshua/SkyBot/blob/main/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: https://git.skyjoshua.xyz/SkyJoshua/SkyBot/blob/main/LICENSE

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
  • A Pixabay API key (free) — required for the image command

Installation

git clone https://git.skyjoshua.xyz/SkyJoshua/SkyBot.git
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
PIXABAY_API_KEY=your-pixabay-api-key-here

Then open Config.cs and update the following values:

public static readonly long OwnerId = your-owner-id-here;
public static readonly string Prefix = "your-prefix-here";
public static readonly string SourceLink = "your-source-link-here";
  • Replace your-owner-id-here with your Valour user ID.
  • Replace your-prefix-here with your desired command prefix (e.g. s/).
  • Replace your-source-link-here with a link to your fork of the repository.

Never commit your .env file to the repository. Ensure it is listed in your .gitignore.


Running the Bot

dotnet run