A multipurpose Discord bot.
Miza's dedicated creator loves to find ways to make Miza bigger and better all the time, with lots of code, optimization and fun to be had! with Features Including: Moderation, Music, Fun, Image Manipulation, and more!
Please support the development of Miza here if you enjoy her services, or would like access to her premium features!
https://ko-fi.com/mizabot
Miza has been free to use for 3 years now since the start of her development, but is quickly becoming more expensive to maintain. Any donations are greatly appreciated, and 100% will go towards supporting Miza's future!
Sections | Explanations |
---|---|
Hosting Miza! | Will talk you through the basics of how to host the code, covering potential error-prone areas! |
AI Features | List of supported AI features, as well as requirements for hosting! |
Folder Structure | Will talk you through where everything within the code files can be found! |
Support! | Links to where you can find Miza and get support! |
Credits | Credits to all contributors! |
If you would like to host a personal copy of Miza for various reasons, the below information may be helpful to be aware of!
As of 26 September 2021, Miza now fully works on Windows and Linux. If you're planning to run Miza through a Docker container, there is a working Dockerfile provided that you may use as a template. Note that if you choose to use this, all other installation steps may be skipped, as said Dockerfile includes all necessary installation preparations.
Launch Git Bash.
Navigate to your desired directory, by typing this command in Git Bash (or Linux terminal):
cd [Desired Directory]
Example: cd C:/Users/Miza/Documents/Projects/
yum install
on other distributions of Linux as required):sudo apt install git
sudo apt install python3 python3-pip python3-tk
sudo apt install libgmp-dev libmpfr-dev libmpc-dev
git clone https://github.com/thomas-xin/Miza.git
Run main.bat
the bot will automatically create an auth.json
file.
Fill in auth.json
file (prefix, discord_token, etc)
Run main.bat
again. (Miza should now start successfully, and be ready for use. If not read the next section)
auth.json
key "ai_features"
benchmark.py
file within the main project directory to enable Miza to make the most efficient use of GPU resources. The order of task priority will be automatically distributed according to FP16 TFLOPS, as well as data transfer rate, which will be used to sort optimal device order for models that do not fit on single GPUs.pip install -r requirements.txt
or any variant that works on your device.As of 08/12/2021, FFmpeg will be automatically installed after first run, Miza is also going to look through the servers it is in to seek out open candidates for placing some emojis that Miza will also require for certain UI features, so make sure you have a good space set up too. Finally, all API Keys that Miza will require as located in auth.json you will have to obtain yourself.
Miza logs information in up to three places:
log.txt
(which the file gets refreshed upon restart)1
[1] Image showing an example of log.txt
file:
[2] Image showing an example of a Console running Miza:
[3] Image showing How to enable log in Discord:
Note: execute the command ~exec -e log
to enable discord logging on Discord. For debugging purposes, this log may include sensitive information being passed through the bot. Please make sure this is not exposed publicly and/or in production.
from common import *
, which is because common.py contains all the main necessary functions and imports to be used throughout. main.py is the main process, while everything else runs as a subprocess, so if you make any changes to main.py, it'll require a manual restart. Most of the bots optimization and data collection functionality can be found in these files, (such as running the bot of course, starting the heartbeat.tmp and other log related code, caching, assigning variables of the GitHub Directory link, default bot prefix, etc...) As for where things are located.../cache
. This folder may be deleted in its entirety without problems, although it may cause issues with commands being run in the moment."cache_path"
key in auth.json
. This overrides the location models from Huggingface and co. are downloaded to, and may be useful if you would like to preserve space on the C drive. If not specified, Huggingface will typically default to ~/.cache
or C:/Users/{username}/.cache
.saves
folder stores saved data from the database. This folder is important for maintaining state, from custom user profiles to linked hosted files.~ec
command, or for the entire bot by removing the .py
files within the commands
folder. These modules may be hot swapped through the owner-only ~reload
and ~unload
commands, however please be aware that there may be inconsistencies in behaviour when doing this. Some internal features and databases are also tied to individual commands.With that concludes the basic introduction of hosting Miza. The code is commented and explaining where everything is, so feel free to explore further to see what you can change, and if you have any questions, Thomas Xin is your guy to ask! Please be aware that not every platform and use case is actively supported, and with only one main developer there are no guarantees all requests will be fulfilled.
Read our Wiki! • Join our Discord Support Server! • Check out our Website!
The domain redirects to a webserver which includes: a command tester within the comforts of your browser, a free file host, and more!
Miza has a public API that has now been moved to RapidAPI. Currently not all endpoints and possible features in the API are accessible from there, but it will be updated over time.
Thanks to all the contributers, for helping Miza grow!
Helping with this README is Illouminant, Miza's secondary bot owner!
Please support the development of Miza here if you enjoy her services, or would like access to her premium features!
https://ko-fi.com/mizabot
Miza has been free to use for 3 years now since the start of her development, but is quickly becoming more expensive to sustain. Any donations are greatly appreciated, and 100% will go towards supporting Miza's future!