Skip to content

❤️ Majo.exe have almost everything - Fun, Memes, Images, Giveaway Moderation, Anime, NSFW and even more! Majo.exe serve over 150 commands!

License

Notifications You must be signed in to change notification settings

chri1ss/myillness

 
 

Repository files navigation

Majo.exe Logo

Majo.exe

Majo.exe have almost everything - Fun, Memes, Images, Giveaway Moderation, Anime, NSFW and even more! Majo.exe serve over 150 commands!

Discord Discord.js CodeQL Checks GitHub License Version


Stand With Ukraine

🔗 Invite

Go to this link and add the bot (this requires MANAGE_GUILD permission) to your server.

✨ Features

  • ⚙️ Fully customizable
  • 🌆 Build-in Dashboard
  • 📝 Easy Config
  • 💯 150+ Commands
  • 📚 Easy Hosting

🖥️ Hosting

We host this bot. Majo.exe will be online 24/7. Invite Majo here!
However, if you want to host Majo.exe yourself - take a look here

Replit Terohost
Run on Repl.it Run on Terohost

🤖 Self-Hosting (Bot)

  1. Clone this repository git clone https://github.com/IgorKowalczyk/majo.exe.git
  2. Run npm i to install all dependencies,
  3. Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
  4. Fill /config/config.js, /config/emojis_config.js with your values
  5. Create new file named .env Remember - the file is super secret, better to not share it.
  6. In .env file set this values:
    • TOKEN - Discord bot token [Tutorial]
    • ID - Your Discord Bot ID
    • SUPPORT_SERVER_ID - Your Support Server ID
    • AMEAPI - your Amethyste API token [Tutorial]
    • MYSQL_DATABASE - Your MYSQL database name
    • MYSQL_HOST - Your MYSQL Host Endpoint
    • MYSQL_PASSWORD - Your MYSQL user password
    • MYSQL_USER - Your MYSQL User name who can acces the database
    • ERRORS_WEBHOOK - Your errors webhook URL (Discord)
  7. Run npm run majo:bot

Note: See the example .env file below!


💾 Self-Hosting (Dashboard)

Note: API Process is children of Dashboard!

  1. Clone this repository git clone https://github.com/IgorKowalczyk/majo.exe.git
  2. Run npm i to install all dependencies,
  3. Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
  4. Create new file named .env Remember - the file is super secret, better to not share it.
  5. In .env file set this values:
    • TOKEN - Discord bot token [Tutorial]
    • DOMAIN - Your website domain (eg https://example.com)
    • AMEAPI - Your Amethyste api token [Tutorial]
    • ID - Your Discord Bot ID
    • MYSQL_DATABASE - Your MYSQL database name
    • MYSQL_HOST - Your MYSQL Host Endpoint
    • MYSQL_PASSWORD - Your MYSQL user password
    • MYSQL_USER - Your MYSQL User name who can acces the database
    • CONTACT_WEBHOOK - Your Contact Webhook URL (Discord)
    • PORT - Your website port
    • RECAPTCHA_SITE_KEY - Google recaptcha v2 site key
    • RECAPTCHA_SECRET_KEY - Google recaptcha v2 secret key
    • SECRET - Discord bot secret [Tutorial]
  6. Fill dashboard config in /config/main_config.js
  7. Add these redirect URI's (https://discord.com/developers/applications/<YOUR-BOT-ID>/oauth2)
    •  https://your-domain.com
       https://your-domain.com/callback
       https://your-domain.com/dashboard
       https://your-domain.com/login
      
  8. Run npm run majo:dashboard in your terminal
  9. If everyting is ok go to your dashboard in browser (eg. to localhost:8000)

Note: See the example .env file below!

If you are hosting dashboard on Replit please run this command to install Node.js 16x:

  • npm init -y && npm i --save-dev node@16 && npm config set prefix=$(pwd)/node_modules/node && export PATH=$(pwd)/node_modules/node/bin:$PATH

🧱 Self-Hosting (API)

  1. Clone this repository git clone https://github.com/IgorKowalczyk/majo.exe.git
  2. Run npm i to install all dependencies,
  3. Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
  4. Create new file named .env Remember - the file is super secret, better to not share it.
  5. In .env file set this values:
    • TOKEN - Discord bot token [Tutorial]
    • DOMAIN - Your website domain (eg https://example.com)
    • PORT - Your website port
  6. Run npm run majo:api in your terminal
  7. If everyting is ok go to your dashboard in browser (eg. to localhost:8001/api)

Additional info

Note: You can run API & Dashboard at the same time by running npm run majo:web

Note: You can run Dashboard, API & Dashboard at the same time by running npm run start

🧱 API Endpoints

🔗 API Link: https://majoexe.xyz/api/

API Endpoint (/api) Values Response (json) Conditions Error Codes
/ None Endpoints list None None
/v1/info/bot None JSON Object None None
/v1/fun/cat_fact None JSON Object None None
/v1/fun/eightball None JSON Object None None
/v1/fun/fortunes None JSON Object None None

Note: Any other endpoint will return error code 0 and error message

💾 .env File (Main Config)

.env config table

.env varriable Description Type Required (Bot) Required (Dashboard) Required (API)
TOKEN Discord bot token String
ID Your Discord Bot ID Number
SUPPORT_SERVER_ID Your support server ID Number
AMEAPI Your Amethyste api token String
MYSQL_DATABASE Your MYSQL database name String
MYSQL_HOST Your MYSQL Host String
MYSQL_USER Your MYSQL user String
MYSQL_PASSWORD Your MYSQL password String
MYSQL_PORT Your MYSQL Port (default is 3306) Number
DOMAIN Your website domain (eg https://example.com) URL
PORT Your webiste port eg. 8080 Number
SECRET The bot client secret String
ANALYTICS Google analytics tracking ID, used in Web-Dashboard String
RECAPTCHA_SITE_KEY Google recaptcha v2 site key String
RECAPTCHA_SECRET_KEY Google recaptcha v2 secret key String
CONTACT_WEBHOOK Your contact form webhook URL URL
STATUS_WEBHOOK Your status webhook URL URL
ERRORS_WEBHOOK Your errors webhook URL URL
NODE_ENV Environment variable (production/development) String

Example .env file

.env.example

# Environment Config

# Required for everything (Bot, Dashboard & API)
TOKEN=YOUR_TOKEN_GOES_HERE
ERRORS_WEBHOOK=YOUR_ERRORS_WEBHOOK_URL
MYSQL_DATABASE=YOUR_MYSQL_DATABASE_NAME
MYSQL_HOST=YOUR_MYSQL_HOST
MYSQL_PASSWORD=YOUR_MYSQL_USER_PASSWORD
MYSQL_USER=YOUR_MYSQL_DATABASE_USER

# Required for bot
ID=YOUR_BOT_ID
SUPPORT_SERVER_ID=YOUR_SUPPORT_SERVER_ID
AMEAPI=YOUR_AMETHYSTE_API_TOKEN

# Required for Dashboard
CONTACT_WEBHOOK=YOUR_CONTACT_FORM_WEBHOOK
ERRORS_WEBHOOK=YOUR_ERRORS_WEBHOOK_URL
RECAPTCHA_SITE_KEY=YOUR_RECAPTCHA_SITE_KEY
RECAPTCHA_SECRET_KEY=YOUR_RECAPTCHA_SECRET_KEY
SECRET=YOUR_BOT_CLIENT_SECRET

# Required for web workers (Dashboard or API)
PORT=YOUR_WEBSITE_PORT

# Not required (optional)
ANALYTICS=YOUR_GOOGLE_TRACKING_ID
STATUS_WEBHOOK=YOUR_STATUS_WEBHOOK_URL

# Note: !majo is the default , you can change it later.

🗜️ Requirements

  • MySQL 5.7 or higher
  • Node.js 16x or higher
  • (Any) Linux x64*
  • 256MB of RAM
  • 512MB/1GB of hard drive space

*Debian based distro recommended

🔓 Tokens tutorials

🔑 Discord Credentials

🔏 Discord Token

  1. Go to Discord Developer Portal
  2. At the top right of the screen, click "New application" and assign it a name. Next in the left part of the screen on the navigation bar, find "Bot" then click it and find button named "Add Bot"
  3. After confirming the bot creation, click the "Copy token" button
  4. Paste your token in .env file - TOKEN=BOT_TOKEN

🔓 Discord Bot Secret

  1. Go to Discord Developer Portal
  2. In the left part of the screen on the bar, find "OAuth2" then click it
  3. Find section named "Client Secret", under the bot secret click "Copy" button
  4. Paste client secret to .env - SECRET=CLIENT_SECRET

Written by: _index1337


🔐 Amethyste API

  1. Go to Amethyste Register Page to create an new account
  2. Fill in all the required infomation
  3. Check your email to active your account
  4. After login, you'll be redicted to home page, scroll down and click Generate

Token will appear on top of that button, you can regenerate it in any time

  1. Paste your token in .env file - AMEAPI=TOKEN

Written by: _index1337


📈 Analytics ID

Soon!


🔐 Re-Captcha Key

  1. Go to Google reCAPTCHA About Page
  2. Choose v3 Admin Console.
  3. If you have never generated a reCAPTCHA key before, you will be redirected to the key generation page.

If you have generated a reCAPTCHA key before, you will be redirected to the reCAPTCHA dashboard. Here will display the statistics of your past key. And to generate a key, tap the + button on the top right.

  1. Fill in the information in the form:
  • Label: Enter the label to identify the site.
  • reCAPTCHA type: Choose the type of reCAPTCHA for this site key
  • reCAPTCHA v3 : allows you to verify if an interaction is legitimate without any user interaction [Not recommended!]
  • reCAPTCHA v2 [Recommended!] :
    • I’m not a robot" Checkbox [Recommended!]
    • Invisible reCAPTCHA badge
    • reCAPTCHA Android
  • Domains: Enter your domain where the keys will be used.
  • Owners: By default, it will receive the email address you log in with. If you want to register for more accounts, enter the email addresses you want to specify
  • Terms of Service: Check the box to accept the reCAPTCHA Terms of Service
  • Send alerts to owners: Check the box to get alerts if Google detects issues with your site
  1. When complete, click the SUBMIT button.

Written by: _index1337

📝 Contributors

💝 Sponsors

These wonderful people and services have helped develop Majo.exe, without them this project would not exist. Thanks goes to these wonderful people!

Sponsor Description Sponsored
Terohost TeroHost is a Discord Bot hosting provider that helps take care of all your needs regarding your Discord Bot to ensure your bot perfect uptime, ping and speed. .xyz Domain & MySQL Database

⁉️ Issues

If you have any issues with the page please create new issue here

📥 Pull Requests

When submitting a pull request:

  • Clone the repo.
  • Create a branch off of master and give it a meaningful name (e.g. my-awesome-new-feature).
  • Open a pull request on GitHub and describe the feature or fix.

📋 License

This project is licensed under the MIT. See the LICENSE file for details

The cake is a lie 🍰

Github profile views

About

❤️ Majo.exe have almost everything - Fun, Memes, Images, Giveaway Moderation, Anime, NSFW and even more! Majo.exe serve over 150 commands!

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 74.4%
  • EJS 16.5%
  • CSS 8.8%
  • Other 0.3%