Giter Club home page Giter Club logo

sammbot's Introduction

Samm-Bot

GitHub issues GitHub pull requests GitHub Workflow Status (with branch) GitHub GitHub commit activity (branch) GitHub Repo stars Mastodon Follow

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 in a beta state and is very unpolished.

๐Ÿ† Maintainers

This is a list of all the people who maintain Samm-Bot's development.

  • ๐Ÿ’พ Analog Feelings - Creator and lead developer.

๐Ÿ“š Features

  • ๐Ÿ’พ 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.

๐Ÿ“ฆ Building

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.

๐Ÿ’ฟ Database Setup

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.

โœณ๏ธ Creating Migrations

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.

โœ… Applying Migrations

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.

๐Ÿง‘โ€โš–๏ธ Code Style Guidelines

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.

โš–๏ธ License

ยฉ Copyright 2021-2024 Analog Feelings.
Licensed under the GPL v3.0 license.

โœจ Special Thanks

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.

Logo Message
JetBrains Thanks to JetBrains for providing an OSS license for their products!

sammbot's People

Contributors

analogfeelings avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sammbot's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.