Majo.exe have almost everything - Fun, Memes, Images, Giveaway Moderation, Anime, NSFW and eveb more!. Majo.exe serve over 150 commands!
Go to this link and add the bot (this requires MANAGE_GUILD
permission) to your server.
- ⚙️ Fully customizable
- 🌆 Build-in Dashboard
- 📝 Easy Config
- 💯 150+ Commands
- 📚 Easy 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
Heroku | Replit | Terohost |
---|---|---|
- Clone this repository
git clone https://github.com/IgorKowalczyk/majo.exe.git
- Run
npm i
to install all dependencies, - Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
- Fill
/config/config.js
,/config/emojis_config.js
with your values - Create new file named
.env
Remember - the file is super secret, better to not share it. - In
.env
file set this values:TOKEN
- Discord bot token [Tutorial]PREFIX
- Discord bot main prefixID
- Your Discord Bot IDAMEAPI
- your Amethyste API token [Tutorial]MYSQL_DATABASE
- Your MYSQL database nameMYSQL_HOST
- Your MYSQL Host EndpointMYSQL_PASSWORD
- Your MYSQL user passwordMYSQL_USER
- Your MYSQL User name who can acces the databaseSTATUS_WEBHOOK
- Your status webhook URL (Discord)ERRORS_WEBHOOK
- Your errors webhook URL (Discord)
- Run
npm run majo:bot
Note: See the example
.env
file below!
Note: API Process is children of Dashboard!
- Clone this repository
git clone https://github.com/IgorKowalczyk/majo.exe.git
- Run
npm i
to install all dependencies, - Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
- Create new file named
.env
Remember - the file is super secret, better to not share it. - In
.env
file set this values:TOKEN
- Discord bot token [Tutorial]PREFIX
- Discord bot main prefixDOMAIN
- Your website domain (eghttps://example.com
)AMEAPI
- Your Amethyste api token [Tutorial]ID
- Your Discord Bot IDMYSQL_DATABASE
- Your MYSQL database nameMYSQL_HOST
- Your MYSQL Host EndpointMYSQL_PASSWORD
- Your MYSQL user passwordMYSQL_USER
- Your MYSQL User name who can acces the databaseCONTACT_WEBHOOK
- Your Contact Webhook URL (Discord)PORT
- Your website portRECAPTCHA_KEY
- Google recaptcha v2 keySECRET
- Discord bot secret [Tutorial]
- Fill dashboard config in
/config/main_config.js
- 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
-
- Run
npm run majo:dashboard
in your terminal - 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
If you are hosting the site locally it is best to generate certificates for it. If you have them:
- Change
certs: false
&localhost: false
values in/config/main_config.js
to true- Place the
server.cert
&server.key
certs in/config/certs/
directory
- Clone this repository
git clone https://github.com/IgorKowalczyk/majo.exe.git
- Run
npm i
to install all dependencies, - Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
- Create new file named
.env
Remember - the file is super secret, better to not share it. - In
.env
file set this values:TOKEN
- Discord bot token [Tutorial]DOMAIN
- Your website domain (eghttps://example.com
)PORT
- Your website port
- Run
npm run majo:api
in your terminal - 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 Link: https://majoexe.ml/api/
⛔ Error codes:0 - 20000
API Endpoint (/api ) |
Values | Response (json ) |
Conditions | Error Codes |
---|---|---|---|---|
* (Invaild endpoint) |
None |
Error Code |
Error Code |
0 |
/v1/user/:ID |
userID |
User Object |
None |
1 / Any Discord Error |
/v1/guild/:ID |
guildID |
Guild Object |
Majo.exe Guild |
2 / Any Discord Error |
/v1/fun/cat_fact |
None |
JSON Object |
None |
None |
/v1/bot_info |
None |
JSON Object |
None |
None |
.env varriable |
Description | Type | Required (Bot) | Required (Dashboard) | Required (API) |
---|---|---|---|---|---|
TOKEN |
Discord bot token | String | ✅ | ✅ | ✅ |
PREFIX |
The default bot prefix (eg. !majo ) [Deprecated!] |
String | ✅ | ✅ | ❌ |
ID |
Your Discord Bot 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 | ✅ | ✅ | ❌ |
DOMAIN |
Your website domain (eg https://example.com ) |
URL | ❌ | ✅ | ✅ |
PORT |
Your webiste port eg. 8008 - Note: Heroku don't need port. Heroku assings port automatically! |
Number | ❌ | ✅ | ✅ |
SECRET |
The bot client secret | String | ❌ | ✅ | ❌ |
ANALYTICS |
Google analytics tracking ID, used in Web-Dashboard | String | ❌ | ❌ | ❌ |
RECAPTCHA_KEY |
Google recaptcha v2 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 | ✅ | ✅ | ✅ |
# Environment Config
# Required
TOKEN=YOUR_TOKEN_GOES_HERE
PREFIX=!majo
ID=YOUR_BOT_ID
AMEAPI=YOUR_AMETHYSTE_API_TOKEN
MYSQL_DATABASE=YOUR_MYSQL_DATABASE_NAME
MYSQL_HOST=YOUR_MYSQL_HOST
MYSQL_PASSWORD=YOUR_MYSQL_USER_PASSWORD
MYSQL_USER=YOUR_MYSQL_DATABASE_USER
CONTACT_WEBHOOK=YOUR_CONTACT_FORM_WEBHOOK
STATUS_WEBHOOK=YOUR_STATUS_WEBHOOK_URL
ERRORS_WEBHOOK=YOUR_ERRORS_WEBHOOK_URL
RECAPTCHA_KEY=YOUR_RECAPTCHA_KEY
NODE_ENV=production/development
# Not required
DOMAIN=YOUR_WEBSITE_DOMAIN
PORT=YOUR_WEBSITE_PORT
SECRET=YOUR_BOT_CLIENT_SECRET
ANALYTICS=YOUR_GOOGLE_TRACKING_ID
# Note: !majo is the default prefix, you can change it later.
- MySQL:
<= 5.7
- Node.js:
>= 16x
- Linux x64
(Any)
- RAM:
>= 250MB
- Disk space:
>= 1GB
- Go to Discord Developer Portal
- 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"
- After confirming the bot creation, click the "Copy token" button
- Paste your token in
.env
file -TOKEN=BOT_TOKEN
- Go to Discord Developer Portal
- In the left part of the screen on the bar, find "OAuth2" then click it
- Find section named "Client Secret", under the bot secret click "Copy" button
- Paste client secret to
.env
-SECRET=CLIENT_SECRET
Written by: MashedPotato
- Go to Amethyste Register Page to create an new account
- Fill in all the required infomation
- Check your email to active your account
- 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
- Paste your token in
.env
file -AMEAPI=TOKEN
Written by: MashedPotato
Soon!
- Go to Google reCAPTCHA About Page
- Choose v3 Admin Console.
- 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.
- 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 keyreCAPTCHA 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 specifyTerms of Service
: Check the box to accept the reCAPTCHA Terms of ServiceSend alerts to owners
: Check the box to get alerts if Google detects problems with your site
- When complete, click the SUBMIT button.
Written by: MashedPotato
- @r-kjha (Emoji config support, Bug fixes, New features, Testing)
- @Joao-Victor-Liporini (Bug fixes, Command handler improvements, Testing, New features)
- @krzesl0 (New Features, Bug fixes, Testing)
- @MashedTuna (Readme tutorials)
- @Wafelowski (Translation improvements)
- @Sakshyam6966 (New Features, Bug fixes, Testing)
If you have any issues with the page please create new issue here
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.
This project is licensed under the MIT. See the LICENSE file for details