All Projects → thomas-xin → Miza

thomas-xin / Miza

Licence: GPL-3.0 license
A multipurpose Discord bot.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Miza

Discord-Bot
Discord C#/.NET Bot
Stars: ✭ 43 (-29.51%)
Mutual labels:  discord-music-bot, discord-bot
lavamusic
lavalink music bot base in erela.js and discord.js v13
Stars: ✭ 210 (+244.26%)
Mutual labels:  discord-music-bot, discord-bot
Music-Slash-Bot
A music bot written in Discord.js and Distube using the slash command
Stars: ✭ 34 (-44.26%)
Mutual labels:  discord-music-bot, discord-bot
NanoSpace
Erela.js & Discord.js@v14 (Prefix Commands!)
Stars: ✭ 59 (-3.28%)
Mutual labels:  discord-music-bot, discord-bot
Rubicon
Dead yo!
Stars: ✭ 14 (-77.05%)
Mutual labels:  discord-music-bot, discord-bot
hellsnakebot
🤖About A fully customizable bot built with discord.js
Stars: ✭ 14 (-77.05%)
Mutual labels:  discord-music-bot, discord-bot
Commando
[DEPRECATED] ⚫ Commando Discord bot built on discord.js-commando.
Stars: ✭ 78 (+27.87%)
Mutual labels:  discord-music-bot, discord-bot
Music-Discord-Bot
A music Discord bot with more than 30+ commands which allows to play music on your server efficiently. Supports Youtube, Spotify, Deezer and Soundcloud links. Skips intros and blanks in the music with Sponsorblock.
Stars: ✭ 57 (-6.56%)
Mutual labels:  discord-music-bot, discord-bot
discord-music
Discord music bot written in Typescript
Stars: ✭ 12 (-80.33%)
Mutual labels:  discord-music-bot, discord-bot
discord-lavalink-music-bot
This is music bot for discord made with erelajs, lavalink, discordjs v13-dev
Stars: ✭ 34 (-44.26%)
Mutual labels:  discord-music-bot, discord-bot
FlareBot
A nice Discord bot made with JDA, FlareBot is a music and server administration bot along with a few other cool features
Stars: ✭ 39 (-36.07%)
Mutual labels:  discord-music-bot, discord-bot
EarTensifier
Powerful Discord music bot in over 80,000 servers. Supports playback from Youtube, Soundcloud, and Spotify.
Stars: ✭ 112 (+83.61%)
Mutual labels:  discord-music-bot, discord-bot
LenoxBot
🖥️ LenoxBot is a Discord bot that offers many cool new features to your Discord server!
Stars: ✭ 218 (+257.38%)
Mutual labels:  discord-music-bot, discord-bot
muser
Muser: A powerful Discord music bot made in DJs v13 managed by PGamerX, Peiprjs, and Luckie.
Stars: ✭ 66 (+8.2%)
Mutual labels:  discord-music-bot, discord-bot
deejay-stereo
Discord music bot built using djs v13, discord-player. Slash Commands only bot
Stars: ✭ 42 (-31.15%)
Mutual labels:  discord-music-bot, discord-bot
SparkV
🤖⚡ | The most POWERFUL multipurpose chat/meme bot that will boost the activity in your server.
Stars: ✭ 24 (-60.66%)
Mutual labels:  discord-music-bot, discord-bot
Green-bot
🎧 Green-bot is a powerfull discord music bot used by 10M users and more than 50,000 servers
Stars: ✭ 103 (+68.85%)
Mutual labels:  discord-music-bot, discord-bot
discordcaptcha
Verification bot for Discord
Stars: ✭ 142 (+132.79%)
Mutual labels:  discord-bot
buttons
A simple to use interactive session and paginator with custom button support for discord.py.
Stars: ✭ 30 (-50.82%)
Mutual labels:  discord-bot
ZuraaaBot
Discord bot para o Zuraaa!
Stars: ✭ 17 (-72.13%)
Mutual labels:  discord-bot


Miza

A multipurpose Discord bot created by Thomas Xin.


GitHub forks GitHub Stars GitHub issues GitHub contributors GitHub License

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!


Table of Contents

Sections Explanations
Hosting Miza! Will talk you through the basics of how to host the code, covering potential error-prone areas!
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

Hosting Miza!

Prerequisites:


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.

Installing Miza

  • 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/
  • If on Linux, the following must be installed (use 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
  • Clone this Repository, by typing this command:
git clone https://github.com/thomas-xin/Miza.git
  • Run main.bat the bot will automatically create an auth.json file.

  • Edit 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)


Common Issues & FAQ:


Dependencies:

  • Miza should automatically download and install the required dependencies immediately after running her for the first time, notably the Python modules and FFmpeg.
Additional Notes:

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.


Voice commands not working:

  • Make sure you have FFmpeg and Python installed onto your computer and in your PATH (it doesn't need to be in the same directory as Miza). I uh... Actually have my ffmpeg pathed by pathing to the misc folder found in Miza Player (an awesome program you should definitely try out!) 🙃

ffmpeg

Note: voice commands run in a subprocess concurrently to the main program. If you are still facing issues, check the support section.

MemoryError():

  • This used to be an issue caused by Miza trying to cache too much at one time. This caching system has been watered down significantly since the time this README was made, so this wont be as likely of an issue anymore. But in case it is still a problem, here's how to fix it. Head on over to the top of bot.py, and look for the following function:
def __init__(self, cache_size=4194304, timeout=24):
        self.start_time = utc()
        super().__init__(max_messages=256, heartbeat_timeout=60, guild_ready_timeout=5, intents=self.intents)
        self.cache_size = cache_size
        self.cache = fcdict({c: {} for c in self.caches})

        # Code continues...

Just reduce the number in cache_size=4194304 and you should be good to go.

Note: memory cache gets cleared upon reset, and Miza has a separate disk cache that doesn't upon reset, but all files in the caches get automtically cleared after 2 weeks.

IP Address exposure:

  • Miza used to host a few Minecraft Servers which is why this feature used to be a doxx moment for me. That is no longer a risk, but Miza will still obtain your IP Address to store it internally for features such as the webserver.

Where does Miza log?

Miza logs up to three places:

  • log.txt (which the file gets refreshed upon restart)1
  • The Console from which Miza is running.2
  • Log within Discord itself (which isn't hardcoded, you can enable it as displayed below) 3

[1] Image showing an example of log.txt file:

Screenshot1

[2] Image showing an example of a Console running Miza:

Screenshot2

[3] Image showing How to enable log in Discord:

Screenshot3 Screenshot4

Note: execute the command [prefix]exec -e log to enable discord logging.

Folder Structure

Project Directory:

  • Has all your generic license, requirements, etc... (Though requirements is necessary for the install_update functionality which, automatically checks for and installs any missing modules.) But most significantly, the main files responsible for running the bots code. Throughout the code, you will frequently see 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...

Commands:

  • You may think its unnecessary to explain all this, but before I learnt my way around, I got so lost in all of Miza's files, so hopefully this is helpful. The commands folder speaks for itself, all of the bots command categories can be found in here, and they are located in the same way they are categorized under ~help.

Misc:

  • Misc has all the different files that the bot needs to pull from, such as the avatar (which gets automatically uploaded to the Discord Developers Portal the first time the code is run), the rainbow bar emojis (which get automatically uploaded to a server Miza is in if it cannot find the emojis already), the code necessary for converting org files, computing math equations, finding time zones and etc. You can change the bots avatar and emojis if you want to; but if you want the code to use them the same way, the filename must be kept the same.

Support!

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!

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!

API

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.

Credits

Thanks to all the contributers, for helping Miza grow!

Writing this README is smudgedpasta, Miza's secondary bot owner! :3


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].