Below you will find a basic workflow of how the branches should work. Please follow this to prevent bad merge conflicts on Miki and things constantly breaking.
Bot invite: https://discordapp.com/oauth2/authorize?&client_id=160185389313818624&scope=bot
Documentation: https://github.com/velddev/Miki/wiki
Issues: https://github.com/velddev/Miki/issues
Patreon: https://www.patreon.com/mikibot
Support server: https://discord.gg/39Xpj7K
Yes, in its current state this process is tedious. However, there will be an installer in the future that will make getting started much simpler.
Currently the Miki API is private, meaning you won't have access to the leaderboards until the API is released publicly. More information will be available here when that happens.
If you have any questions about the setup process do not ask in the support server, as a majority of the people there will not be able to assist you. DM Xetera#9596 for questions instead.
-
Clone the Miki repository.
-
Install Miki.Framework and Miki.Rest through NuGet or clone them as well, along with the other dependencies.
-
Add your bot token in Miki/miki/settings.json.
-
Download RabbitMQ and have the service running.
-
Download Redis and get that running too.
-
Download PostgreSQL and set up a database called
Miki
. -
Configure your connection string in Miki/miki/settings.json as such (if using localhost):
"connection_string": "Server=127.0.0.1;Port=5432;User Id=postgres;Database=Miki;"
- Install the
uuid-ossp
postgres extensions on theMiki
database.
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-
Run existing migrations inside the base Miki solution through the NuGet Package Manager Console with
Update-Database
- Tools -> NuGet Package Manager -> Package Manager Console
-
Clone the gateway repository in a separate location.
-
Download Node.js if you don't have it installed already.
-
Run
npm install
in the sharder download location to setup the dependencies. -
Create a
config.js
by copy pasting the format fromconfig.js.example
and filling in your bot token. -
Run
node gateway.js
. -
Run Miki. 🎉
These will likely be fixed in the near future (if it's not already by the time you're reading this):
-
A lack of API keys might be giving you issues in the
DonatorModule
andFunModule
, the simplest way to solve it is to just comment out the lines that raise exceptions and the lines that reference the client (there shouldn't be more than 2 reference max, if so, you're doing something wrong). -
If you're having trouble running migrations make sure your
EntityFramework
for both baseMiki
andMiki.Framework
is on version 2.0.1-2.0.3 NOT 2.1.1.