Majo.exe have almost everything - Fun, Memes, Images, Giveaway, Economy, Anime and NSFW. This bot serve over 150 commands!
Discord.js v12 is deprecated! We are working on rebuild Majo to Discord.js v13, you can contribute or see progress by clicking link below!
See Majo.exe on Discord.js v13!
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 yourself - take a look here
Deploy the app to Heroku
- Clone this repository
git clone https://github.com/IgorKowalczyk/majobot.git - Run
npm installto get all dependencies, - Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
- Fill
config.js,emojis_config.jswith your values - Create new file named
.envRemember - the file is super secret, better to not share it. - In
.envfile set this values:- Required:
TOKEN- Bot token from Discord Developer portal [no. 3]PREFIX- Bot prefix, used to run commands eg.your-prefix helpID- Your Discord Bot IDAMEAPI- your Amethyste API token [Tutorial]BRAINID- Your Brainshop AI Brain ID [Tutorial]BRAINKEY- Your Brainshop AI Brain Key [Tutorial]GENIUS- Your Genius API Key [Tutorial]MYSQL_DATABASE- Your MYSQL database nameMYSQL_HOST- Your MYSQL Host nameMYSQL_PASSWORD- Your MYSQL user passwordMYSQL_USER- Your MYSQL User name who can acces to the databaseCOOKIES- Your Youtube Cookies [Tutorial]- Not required (You can leave them blank):
DOMAIN^ - your website domain, eghttps://example.comPORT^ - your website port, eg8080. [Note: If you are using heroku, don't add this value. Heroku binds port automatically!]DASHBOARD=[true/false]- iftruethe bot will be hosted with web dasboard, iffalsethe bot will be hosted without web dashboard.SESSION_SECRET^ - Session secret key, random sequence of words, letterss or numbersSECRET^ - Client secret from Discord Developers portal [no. 3]ANALYTICS- Google Trakcing ID, for Website analytics [Tutorial]RECAPTCHA_KEY^ - Google Recaptcha v2 site keyCONTACT_WEBHOOK_ID^ - Your contact form webhook IDCONTACT_WEBHOOK_TOKEN^ - Your contact form webhook tokenSTATUS_WEBHOOK_ID- Your status webhook IDSTATUS_WEBHOOK_TOKEN- Your status webhook token
- Run
npm run start
Note: See the example
.envfile below!
Note: Values with
^are required to run web dashboard!
Note: Discord webhook link syntax:
https://discord.com/api/webhooks/HERE-IS-WEBHOOK-ID/HERE-IS-WEBHOOK-TOKEN)
- In
.envfile set theDASHBOARDconfig totrueand assign thePORTeg.8080. (See example.envfile) - Fill dashboard config in (
config.jsand.env) - Add the redirect uri here: 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 dashboardin your terminal - If everyting is ok go to your dashboard in browser (eg. to
localhost:8000)
Note: See the example
.envfile below!
If you are hosting the site locally it is best to generate certificates for it. If you have them:
- Change
certs: false&localhost: falsevalues inconfig.jsto true- Place the
server.cert&server.keycerts in/dashboard/certs/directory
.env varriable |
Description | Required |
|---|---|---|
| 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 | ✔️ |
| BRAINID | Your Brainshop AI Brain ID | ✔️ |
| MYSQL_DATABASE | Your MYSQL database name | ✔️ |
| MYSQL_HOST | Your MYSQL Host | ✔️ |
| MYSQL_USER | Your MYSQL user | ✔️ |
| MYSQL_PASSWORD | Your Brainshop AI Brain Key | ✔️ |
| GENIUS | Your genius API Key | ✔️ |
| DOMAIN | Your website domain (eg https://example.com)* |
❌/✔️ |
| PORT | Your webiste port, (eg. 8008 )* |
❌/✔️ |
| DASHBOARD | The Web-Dashboard config value. (eg. true/false, default value: false)* |
❌ |
| SESSION_SECRET | Random sequence of words, letterss or numbers* |
❌/✔️ |
| SECRET | The bot client secret (Remember! The SECRET value is Super-Secret)* |
❌/✔️ |
| ANALYTICS | Google analytics tracking ID, used in Web-Dashboard* |
❌ |
| RECAPTCHA_KEY | Google recaptcha v2 key* |
❌/✔️ |
| COOKIES | Your youtube cookies | ✔️ |
| CONTACT_WEBHOOK_ID | Your contact form webhook ID | ❌ |
| CONTACT_WEBHOOK_TOKEN | Your contact form webhook token | ❌ |
| STATUS_WEBHOOK_ID | Your status webhook ID | ❌ |
| STATUS_WEBHOOK_TOKEN | Your status webhook token | ❌ |
*= Required to run the web dashboard!
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
BRAINID=YOUR_BRAINSHOP_AI_BRAIN_ID
BRAINKEY=YOUR_BRAINSHOP_AI_BRAIN_KEY
GENIUS=YOUR_GENIUS_API_KEY
CONTACT_WEBHOOK_TOKEN=YOUR_CONTACT_FORM_WEBHOOK_TOKEN
CONTACT_WEBHOOK_ID=YOUR_CONTACT_FORM_WEBHOOK_ID
STATUS_WEBHOOK_TOKEN=YOUR_STATUS_WEBHOOK_TOKEN
STATUS_WEBHOOK_ID=YOUR_STATUS_WEBHOOK_ID
COOKIES=YOUR_YOUTUBE_COOKIES
RECAPTCHA_KEY=YOUR_RECAPTCHA_KEY
# Not required
DASHBOARD=[true/false]
DOMAIN=YOUR_WEBSITE_DOMAIN
PORT=YOUR_WEBSITE_PORT
SESSION_SECRET=YOUR_SESSION_SECRET_(RANDOM_WORDS)
SECRET=YOUR_BOT_CLIENT_SECRET
ANALYTICS=YOUR_GOOGLE_TRACKING_ID
# Note: !majo is the default prefix, you can change it later.
Soon!
Soon!
Soon!
Soon!
Soon!
Soon!
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

