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/majobot.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 tokenPREFIX
- 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 bot
Note: See the example
.env
file below!
- In
.env
file set this values:TOKEN
- Discord bot tokenPREFIX
- Discord bot main prefixDOMAIN
- Your website domain (eghttps://example.com
)AMEAPI
- Your Amethyste api tokenID
- 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
- 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 dashboard
in your terminal - If everyting is ok go to your dashboard in browser (eg. to
localhost:8000
)
Additional info
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
.env varriable |
Description | Required (Bot) | Required (Dashboard) |
---|---|---|---|
TOKEN |
The bot token (Remember! The TOKEN is super secret) |
✅ | ✅ |
PREFIX |
The default bot prefix (eg. !majo ) |
✅ | ✅ |
ID |
Your Discord Bot ID | ✅ | ✅ |
AMEAPI |
Your Amethyste api token | ✅ | ✅ |
MYSQL_DATABASE |
Your MYSQL database name | ✅ | ✅ |
MYSQL_HOST |
Your MYSQL Host | ✅ | ✅ |
MYSQL_USER |
Your MYSQL user | ✅ | ✅ |
MYSQL_PASSWORD |
Your MYSQL password | ✅ | ✅ |
DOMAIN |
Your website domain (eg https://example.com ) |
❌ | ✅ |
PORT |
Your webiste port eg. 8008 - Note: Heroku don't need port. Heroku assings port automatically! |
❌ | ✅ |
DASHBOARD |
The Web-Dashboard config value. (Boolean) | ❌ | ✅ |
SECRET |
The bot client secret | ❌ | ✅ |
ANALYTICS |
Google analytics tracking ID, used in Web-Dashboard | ❌ | ❌ |
RECAPTCHA_KEY |
Google recaptcha v2 key | ❌ | ✅ |
CONTACT_WEBHOOK |
Your contact form webhook URL | ❌ | ✅ |
STATUS_WEBHOOK |
Your status webhook URL | ✅ | ❌ |
ERRORS_WEBHOOK |
Your errors webhook URL | ✅ | ✅ |
NODE_ENV |
Environment variable (production/development) | ✅ | ✅ |
[?] Click to see example .env
file!
# 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
DASHBOARD=[true/false]
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
- Disk space:
>= 1GB
Click here to see Discord API Credentials tutorial!
Soon!Click here to see Amethyste API Credentials tutorial!
Soon!Click here to see Analytics ID tutorial!
Soon!Click here to see Re-Captcha Key tutorial!
Soon!- @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)
- @Sakshyam6966 (New Features, Bug fixes, Testing)
- @dhvitOP (Music commands)
- @Wafelowski (Translation improvements)
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