Amiquin is a modular and extensible application designed to streamline development with a focus on configurability, logging, and dependency injection. This project leverages modern .NET technologies to provide a solid foundation for building applications. The goal is to create a robust, fun and scalable bot.
For comprehensive documentation, guides, and API references, visit our GitHub Pages documentation.
The documentation includes:
- Getting Started Guide - Step-by-step setup and configuration
- Commands Reference - Complete list of available Discord commands
- Architecture Overview - Technical details about the project structure
- Development Guide - Contributing and development best practices
- Configuration Guide - Detailed configuration options and examples
Docker is recommended for running the application in a containerized environment. (Docker required)
- Clone the repository:
git clone https://github.com/your-repo/amiquin.git
cd amiquin
-
Configure the application:
- Copy the
.env.example
file to.env
. Update the values as needed. - Copy the
appsettings.example.json
file toappsettings.json
. Update the values as needed.
- Copy the
-
Run docker:
docker-compose up
If you want to run the application locally, follow the steps below. (You have to install the prerequisites)
Install the prerequisites before running the application. Piper for the Text to Speech (TTS) feature. ffmpeg for the audio streaming to voicechat feature.
- Clone the repository:
git clone https://github.com/your-repo/amiquin.git
cd amiquin
- Restore dependencies:
dotnet restore
-
Configure the application:
- Copy the
.env.example
file to.env
. Update the values as needed. - Copy the
appsettings.example.json
file toappsettings.json
. Update the values as needed.
- Copy the
-
Build the application:
dotnet run --project source/Amiquin.Bot -c Release
or if you want to create a self-contained executable:
Publish Documentation
dotnet publish -c Release -r linux-x64 --self-contained
The application uses appsettings.json
and .env
files for configuration. Ensure those files exist.
The templates are provided via appsettings.example.json
and .env.example
.
You can override settings using command-line arguments.
Required parameters:
Bot:Token
(appsettings.json) orBOT_TOKEN
(.env) - Discord bot token.Bot:OpenAIKey
(appsettings.json) orOPEN_AI_KEY
(.env) - OpenAI API key.
Note: the
.env
file is used only for docker-compose configuration.
Logs are written to the console and a rolling log file located in the directory specified by SQLITE_PATH
environment variable or in the application root /Logs
directory.
For detailed information about the project architecture, components, and structure, please refer to the Architecture Documentation.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project uses GitHub Pages to host its documentation. The documentation is automatically built and deployed from the docs/
folder.
For this project: https://huebyte.github.io/Amiquin/
The documentation is written in Markdown and located in the docs/
folder:
docs/index.md
- Main documentation homepagedocs/getting-started.md
- Installation and setup guidedocs/commands.md
- Discord commands referencedocs/architecture.md
- Technical architecture detailsdocs/development.md
- Development and contribution guidedocs/configuration.md
- Configuration options and examples
To update the documentation:
- Edit the relevant Markdown files in the
docs/
folder - Commit and push your changes
- GitHub Pages will automatically rebuild and deploy the updated documentation
This project is licensed under the MIT License.
- Serilog for robust logging capabilities.
- SpectreConsole for beautiful console output.
- Discord.NET for Discord bot integration.