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 install
to get all dependencies, - Grab a Discord Bot token and client secret on Discord's developer portal Tutorial
- Fill
config.js
,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:- Required:
TOKEN
- Bot token from Discord Developer portal [no. 3]PREFIX
- Bot prefix, used to run commands eg.your-prefix help
ID
- 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.com
PORT
^ - your website port, eg8080
. [Note: If you are using heroku, don't add this value. Heroku binds port automatically!]DASHBOARD=[true/false]
- iftrue
the bot will be hosted with web dasboard, iffalse
the 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
.env
file 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
.env
file set theDASHBOARD
config totrue
and assign thePORT
eg.8080
. (See example.env
file) - Fill dashboard config in (
config.js
and.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 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 the site locally it is best to generate certificates for it. If you have them:
- Change
certs: false
&localhost: false
values inconfig.js
to true- Place the
server.cert
&server.key
certs 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