Git Product home page Git Product logo

accord's Introduction

Accord

Accord Logo

Reach accord, prevent discord, on Discord.

A C# .NET 6 Discord bot with moderation, XP/guild participation and utilities aimed at all users within a guild. This is not a hosted bot, it is intended to be self hosted.

How do I contribute

Accord is actively developed with both Rider and Visual Studio 2022. It is recommended you use either IDE for a positive experience. However, Accord is built entirely on .NET 6 and therefore works anywhere dotnet build can be executed.

You can grab an unassigned issue and comment on it to indicate your interest on championing it. Alternatively, if you have a suggestion for a new feature and want to champion this, create a new issue and it can be discussed in the repository.

Development ethos

Keep things short, simple and maintainable. No pointless abstractions or complicated chains. Move fast, break and innovate. This is a Discord bot first and foremost and it strives for simplicity.

What you'll need

  • Latest .NET 6 SDK
  • SQL Server Developer Edition (Docker image available)
  • Discord Bot account

How to get Accord running in development

  • Set up a bot account on the Discord developer portal
    • Ensure you have the following priviledged gateway intents enabled:
      • Presence Intent
      • Server Members Intent
  • Clone/fork the repository from main branch
  • Get the Id of the Discord Guild you will be testing the bot in, for the purposes of Slash command updating
  • Get your bot token from the Discord developer portal
  • Set up configurations for development, using user-secrets
    • dotnet user-secrets set DiscordConfiguration:GuildId GUILD_ID
    • dotnet user-secrets set DiscordConfiguration:BotToken BOT_TOKEN

By default the bot will look for a SQL Server instance running on localhost. If your instance is not on localhost or has an otherwise differing connection string, set the ConnectionStrings:Database secret.

Invite your bot

(Change your client Id to that of your application's)

https://discord.com/oauth2/authorize?client_id=CLIENT_ID&scope=bot%20applications.commands&permissions=1573252310

This ensures the bot has the minimum required permissions and can manage Slash commands on the guild.

Start the bot. This will apply migrations automatically via Entity Framework.

How to self host

Currently you will need to build from source. There are no distributions at this time.

Requirements

  • SQL Server
  • Web host for ASP.NET Core

Set environment variables for ConnectionStrings:Database, DiscordConfiguration:GuildId, DiscordConfiguration:BotToken.

This bot is intended for single-guild usage.

Credits

Notable dependencies for this project include:

accord's People

Contributors

patrickklaeren avatar proicons avatar dynamicfield avatar chasedredmon avatar

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.