How to install and host your own bot instance (old)
If you still don't know where to host the bot, try DigitalOcean, with this link you'll get $100 of credit for 60 days, and I'll earn some credit as well to keep up Member Counter!
https://m.do.co/c/360e7314770e
If you have any problem during the process, join in this discord server and feel free to ask in the support channel
- Have patience
- Be familiarized with the CLI (cmd.exe, bash)
- Use linux if you wanna host this bot 24/7 (unless you already know how to do it in your OS)
- I strongly recommend to install MongoDB in your machine due to a easier and faster access.
Never share a .env file: It contains sensitive data
If you are using a service like heroku you can take advice of the available environment variables in the
.env.example
Enable the developer mode in your discord client User settings > Appearance > Advanced > Developer Mode
Copy and paste the
.env.example
file and rename it to .env
(if you can't do this, then you must set the variables directly, search on internet how to do it in your platform, e.g: "how to set env vars in linux" or "how to set env vars in heroku"), then create a dist
folder and move the .env
file there, and open it with a text editor. Below I will explain what does each necessary variable.DISCORD_CLIENT_TOKEN
Paste here your bot's token, and remember to keep it secret!DISCORD_CLIENT_ID
Paste here your bot's id and add an*
at the end.DB_URI
If you installed mongodb, this varaible should be set tomongodb://127.0.0.1:27017/memberCounter
.DISCORD_PREFIX
feel free to change this value to your favorite bot prefix, but be careful to don't use the same as other botsBOT_OWNERS
Right click your username in the discord client and press "Copy ID" and paste it here and add an*
at the end, you can add as many users as you want separated by a comma (,
). Any user added here will have always full access to the bot's commands without any restriction.UPDATE_COUNTER_INTERVAL
(Seconds) This value will change the frequency of some counter updates, you should set this at least to300
seconds.FOSS_MODE
Set this totrue
, the bot wont kick itself when it join in a no premium serverPREMIUM_BOT
Set this totrue
, to enable all the premium countersPORT
Set this to8080
, or any available port, don't set this if you are using a service like HerokuTWITCH_CLIENT_ID
andTWITCH_CLIENT_SECRET
Paste here your Twitch app credentials, you can get them hereTWITTER_CONSUMER_KEY
,TWITTER_CONSUMER_SECRET
,TWITTER_ACCESS_TOKEN
,TWITTER_ACCESS_TOKEN_SECRET
Paste here your Twitter API credentials, you can get them here
You must have Python and a C/C++ compiler in order to install some of the bot's dependencies, please follow the install instructions for your operating system: https://github.com/nodejs/node-gyp#installation
npm install
npm run build
- 1.Start it in your terminal with
npm start
ornode .
- 2.Add the bot to your server with one of the following methods:
- 1.One of the first line of the logs should contain a URL saying "Basic status website ready", access to it in your browser and click "Invite bot", by using this method you can check that the database and the discord connection is working correctly
- 2.Or you can generate a link in the Discord Developer Portal -> click in your bot, click in OAuth2, in the scope section click 'bot' and then will appear more options, click in 'Administrator' and copy the generated link
- 3.Testing the bot: (remember to replace
mc!
with your custom prefix)- Send
mc!help
- Send
mc!guide
- Send
mc!counts
- If you were able to run the commands successfully without any error, congrats, the bot works.
- 1.npm install pm2 -g
- 2.cd to the bot folder and run this commandpm2 start ./dist/src/index.js --name member-counter-bot
- 3.Run this so the bot starts automatically when you boot your computerpm2 startuppm2 save
Done! Here is some commands:
Check logs:
pm2 log member-counter-bot
Start/Restart/Stop
pm2 start member-counter-bot
pm2 restart member-counter-bot
pm2 stop member-counter-bot
- 1.cd to the bot folder and then cd to the
dist
folder - 2.Check that
index.js
has execution permissions for you (and try it by running the bot directly in the terminal with./index.js
) - 3.Edit the
res/member-counter-bot.service
file, change the path ofExecStart
andWorkingDirectory
to the real one and change theUser
andGroup
values to yours. - 4.Copy this file to
/etc/systemd/system
sudo cp res/member-counter-bot.service /etc/systemd/system - 5.Enable the service and start itsudo systemctl enable member-counter-bot.service && sudo systemctl start member-counter-bot.service
- 6.Check the logs with
journalctl
sudo journalctl -u member-counter-bot.service - 7.
- 8.Discard changes of member-counter-bot.service of this repo to avoid conflicts if you update the bot in a future.git checkout res/member-counter-bot.service
Last modified 1yr ago