Discord बॉट Discord के गेटवे से जुड़ता है और जुड़ा रहता है, इसलिए उसे हमेशा चालू रहने वाली मशीन चाहिए। एक छोटा VPS सस्ता है, ऑनलाइन रहता है और आपके घर के इंटरनेट पर निर्भर नहीं करता। यह गाइड discord.js के साथ Node.js बॉट तैनात करती है और systemd से उसे चालू रखती है।
कितना बड़ा VPS?
ज़्यादातर बॉट के लिए 1 vCPU और 1 से 2 GB RAM काफ़ी है। जो बड़े बॉट कई सर्वर कैश करते हैं या ऑडियो प्रोसेस करते हैं उन्हें अधिक चाहिए। प्लान के लिए Discord बॉट होस्टिंग देखें।
चरण 1: Discord में बॉट बनाएँ
- Discord Developer Portal खोलें और नया एप्लिकेशन बनाएँ।
- एक Bot जोड़ें, उसका टोकन कॉपी करें और गुप्त रखें।
- OAuth2 के अंतर्गत
botऔरapplications.commandsस्कोप के साथ इन्वाइट लिंक बनाएँ और बॉट को अपने सर्वर में जोड़ें।
चरण 2: Node.js इंस्टॉल करें
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v
sudo adduser --disabled-password --gecos "" discord
चरण 3: बॉट लिखें
sudo -iu discord
mkdir ~/bot && cd ~/bot
npm init -y
npm install discord.js
// index.js
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once('ready', () => console.log('Logged in as ' + client.user.tag));
client.on('interactionCreate', async (i) => {
if (i.isChatInputCommand() && i.commandName === 'ping') await i.reply('Pong!');
});
client.login(process.env.DISCORD_TOKEN);
discord.js गाइड की विधि से /ping स्लैश कमांड एक बार रजिस्टर करें।
चरण 4: टोकन को कोड से बाहर रखें
echo "DISCORD_TOKEN=your-token-here" > ~/bot/.env
chmod 600 ~/bot/.env
चरण 5: इसे systemd से चलाएँ
[Unit]
Description=Discord bot
After=network-online.target
[Service]
User=discord
WorkingDirectory=/home/discord/bot
EnvironmentFile=/home/discord/bot/.env
ExecStart=/usr/bin/node index.js
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f
फ़ाइल का नाम /etc/systemd/system/discordbot.service रखें।
अच्छी आदतें
- केवल वही इंटेंट इस्तेमाल करें जिनकी आपको ज़रूरत है। विशेषाधिकार वाले इंटेंट पोर्टल में चालू करने पड़ते हैं।
- अगर कभी टोकन लीक हो जाए, तो पोर्टल में तुरंत उसे रीसेट करें।
- विफलता पर रीस्टार्ट ऊपर सेट है। अगर बॉट किसी समुदाय के लिए मायने रखता है तो मॉनिटरिंग जोड़ें।