Makoto

A feature packed discord bot!

## Step by Step Guide on how to set up a Development Environment 1. Install the following applications. These should get you started with a basic environment for C# development. - [Git CLI](https://www.git-scm.com/downloads) - [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) - Select .NET desktop development 2. Log into your Github Account with the Git CLI and clone the following repository: - `Fortunevale/ProjectMakoto` - To clone `ProjectMakoto` with it's submodules run: `git clone --recurse-submodules "https://github.com/Fortunevale/ProjectMakoto.git"` - _You can skip this step if you're developing a plugin._ 3. With this completed, you can already start developing for Makoto. To be able to debug Makoto, follow the guide below. ## Running/Debugging Makoto with all necessary dependencies 1. Install the following: - [MariaDB Server](https://mariadb.org/download/) - After installing the MariaDB Server, create 2 new databases: One for the main tables (guilds, users, scam_urls, etc.) and one for server members. - You'll need a third database if you're using plugins. 2. Create an account on the following sites: - [Discord](https://discord.com) - Create a new [Discord Team](https://discord.com/developers/teams) and add a new [Discord Application](https://discord.com/developers/applications/) to the previously created team. - Add a bot to the application and note down the bot token. - Makoto currently requires the `Presence`, `Server Members` and `Message Content` Intents. - I recommend disabling the `Public Bot` Option so no one can add your development client to their server. - [AbuseIPDB API Key](https://www.abuseipdb.com/account) - After creating your account, you can create an api key [here](https://www.abuseipdb.com/account/api). - [Github](https://github.com/) - Create a [Personal Access Token](https://github.com/settings/tokens) to your Github Account. - The bot needs to be able to create issues and read your repository. 3. Build and run Makoto until the console says something like "Config reloaded". 4. Open the `config.json` in the path you built Makoto in (usually `bin/Debug/`) and put in all values. 5. You're all set. ## Useful resources for development - [DisCatSharp Documentation](https://docs.dcs.aitsys.dev/articles/preamble.html) - [Translation Documentation](TRANSLATING.md) - [Plugin Documentation](PLUGINS.md)