Samm-Bot is a free and open-source Discord bot that I began developing around 2020 for fun.
Its source code was private, was written in TypeScript, and was very feature-lacking.
In 2021, I decided to rewrite it in .NET, make it open-source and much more feature rich. Nowadays, it focuses on being useful, with features such as moderation and fun commands.
My main motivation is because currently, most large bots are owned by money-hungry people who like to shove Premium ads everywhere they can.
I wanted to make a free and open-source bot that people could rely on for simple server-keeping tasks such as warnings, logging and more.
Important
Currently, the bot is undergoing an important rewrite for modularization.
Progress can be tracked in here.
This is a list of all the people who maintain Samm-Bot's development.
- 💾 Analog Feelings - Creator and lead developer.
- 💾 Bot Administration Module: Allows the bot's owner to manage the bot remotely.
- ⚙️ Server Settings Module: Allows you to set server-specific settings, like logging, welcome messages, etc...
- 🧑⚖️ Moderation Module: Allows you to kick, ban, mute, or bulk delete messages.
- 🏷️ Tags Module: Allows users to create tags that make Samm-Bot reply with a custom message when used with the "tags get" command.
- 🎲 Fun Module: Hugging, patting, asking the magic 8-ball, and more!
- ℹ️ Information Module: Shows information about the bot and can also show information about a user or server.
- 🎰 Random Module: Retrieve random content from the cat, dog, fox or duck APIs.
- 🔧 Utils Module: Allows you to view RGB or HEX colors or get a user's avatar.
The .NET toolset will automatically pull all the required NuGet packages on build.
Samm-Bot has currently been tested on x86-64 and aarch64.
For Linux and macOS users, this tiny script should make it easier for you to pull and build automatically.
Note
The script linked above requires Bash.
Here is a small TL;DR on how to update the database in Samm-Bot.
Knowing how EntityFramework works is still recommended for this project.
Grab the command line, cd to the SammBot.Bot folder, and execute this command:
dotnet ef migrations add <MigrationName>
This will let you modify the structure of the database's tables.
Grab the command line, cd to the SammBot.Bot folder, and execute this command:
dotnet ef database update
This will apply the latest migration to the local database, or create a database if one doesn't already exist.
Please read the style guidelines before creating a pull request.
Your pull request won't be merged until the code is up to the standards.
Adding an automatic .editorconfig
file to enforce these is of low priority right now, so please read the file thoroughly.
© Copyright 2021-2024 Analog Feelings.
Licensed under the GPL v3.0 license.
This is a list of companies or projects who have been very helpful for the development of Samm-Bot.
If your project or company has been very influential in the development of Samm-Bot, it will be listed here.