Discord botu necə hazırlamaq olar
Bu səhifədə
Discord botu Discord-a öz hesabı ilə daxil olan və əmrlərə cavab verən, moderasiya edən, oyunlar oynadan və ya yeniliklər paylaşan bir proqramdır. Bot hazırlamaq üçün üç şey lazımdır: Discord-un Developer Portal-ında bir tətbiq, bir neçə sətir kod və bu kodun işləyəcəyi bir yer.
Bu bələdçidə Python (discord.py) və ya JavaScript (discord.js) ilə /ping slash əmri olan işlək bot qururuq — bildiyiniz dili seçin.
Addım 1: Tətbiqi və bot tokenini yaradın
- Developer Portal-ı açın. discord.com/developers/applications ünvanına keçin, yeni tətbiq yaradın və ona ad verin.
- Tokeni əldə edin. Bot səhifəsində Reset Token düyməsini klikləyin və tokeni kopyalayın. Discord onu yalnız bir dəfə göstərir; itirsəniz, yenidən sıfırlayın.
- Tokeni gizli saxlayın. Bu, botun parolu deməkdir: ona sahib olan hər kəs botunuzu idarə edir. Onu heç vaxt paylaşdığınız koda yapışdırmayın və Git-ə commit etməyin.
Addım 2: Botu serverinizə dəvət edin
- Tətbiqinizin Installation səhifəsini açın.
- Serverlər (guilds) üçün standart quraşdırma parametrlərində
botvəapplications.commandsəhatə dairələrini, həmçinin botun ehtiyac duyduğu icazələri əlavə edin — bu bələdçi üçün Send Messages kifayətdir. - Sizə verilən quraşdırma linkini açın, serverinizi seçin və icazə verin. Bot üzvlər siyahısında görünür; kodunuz işə düşənə qədər oflayn olur.
Köhnə bələdçilər eyni iki əhatə dairəsi ilə OAuth2 > URL Generator yolundan istifadə edir; bu üsul hələ də işləyir.
Addım 3a: Botu Python ilə yazın (discord.py)
discord.py 2.7 üçün Python 3.8 və ya daha yeni versiya lazımdır. Onu quraşdırın və bot.py faylını yaradın:
pip install discord.py
import os
import discord
from discord import app_commands
class Bot(discord.Client):
def __init__(self):
super().__init__(intents=discord.Intents.default())
self.tree = app_commands.CommandTree(self)
async def setup_hook(self):
await self.tree.sync()
bot = Bot()
@bot.tree.command(description="Replies with Pong!")
async def ping(interaction: discord.Interaction):
await interaction.response.send_message("Pong!")
bot.run(os.environ["DISCORD_TOKEN"])
Token mühit dəyişənində olmaqla işə salın, məsələn, Linux və ya macOS-da DISCORD_TOKEN=your-token python bot.py.
Addım 3b: Botu JavaScript ilə yazın (discord.js)
discord.js 14 üçün Node.js 18 və ya daha yeni versiya lazımdır. Yeni qovluqda npm install discord.js əmrini işə salın və index.js faylını yaradın:
const { Client, Events, GatewayIntentBits, REST, Routes, SlashCommandBuilder } = require('discord.js');
const commands = [new SlashCommandBuilder().setName('ping').setDescription('Replies with Pong!').toJSON()];
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, async (c) => {
await new REST().setToken(process.env.DISCORD_TOKEN).put(Routes.applicationCommands(c.user.id), { body: commands });
console.log(`Logged in as ${c.user.tag}`);
});
client.on(Events.InteractionCreate, async (interaction) => {
if (interaction.isChatInputCommand() && interaction.commandName === 'ping') await interaction.reply('Pong!');
});
client.login(process.env.DISCORD_TOKEN);
DISCORD_TOKEN=your-token node index.js ilə başladın. Konsolda Logged in göründükdə serverinizdə /ping yazın.
Tokeni kodunuzdan kənarda saxlayın
- Mühit dəyişənindən və ya
.envfaylından istifadə edin və ilk commit-dən əvvəl.envfaylını.gitignore-a əlavə edin. - Token sızarsa, onu sıfırlayın — dərhal Bot səhifəsində. Köhnə token işləməyi dayandırır, yenisini isə botun işlədiyi yerdə yeniləyirsiniz.
- GitHub ictimai repozitoriyaları Discord bot tokenləri üçün skan edir və onları Discord-a bildirir, Discord isə onları ləğv edə bilər — buna görə səhvən göndərilmiş token çox vaxt siz fərq etməmişdən əvvəl işləməyi dayandırır.
Addım 4: Botunuzu onlayn saxlayın
Botunuz yalnız kodu işlədiyi müddətdə onlayndır. Terminalı bağlasanız və ya kompüteri söndürsəniz, bot oflayn olur. Üç seçiminiz var:
- Öz kompüteriniz — pulsuzdur, hazırlamaq və test etmək üçün uyğundur, amma kompüter yatanda bot da yatır.
- Pulsuz paket — əksəriyyəti bütün ay işləyən botları yuxu rejiminə salır və ya məhdudlaşdırır; üstünlük və çatışmazlıqları pulsuz Discord bot hostinqi bələdçisində müqayisə edirik.
- Bot hostinqi — daim işləyən kiçik server. HytHost Discord bot hostinqində layihənizi yükləyir, Node.js, Python və ya başqa iş mühitini seçirsiniz, panel isə botu işə salır və çöksə yenidən başladır.
Yükləmədən avtomatik yenidən başlatmaya qədər tam təlimat Discord botunu 24/7 necə host etmək olar bələdçisindədir.
Kompüterinizi açıq qoymadan botunuzu işlədin: HytHost Discord bot hostinqi Node.js, Python, Java, Go, C#, Bun və Lavalink dəstəkləyir — €0.89/ay-dan.
Bot hostinq planlarına baxınTez-tez verilən suallar
Bəli. Tətbiqi, tokeni və kodu yaratmaq heç nəyə başa gəlmir, discord.py və discord.js də pulsuzdur. Yalnız botu onlayn qalan bir yerdə host etmək istəsəniz ödəniş edirsiniz.
Hansını artıq bilirsinizsə. discord.py və discord.js hər ikisi yetkindir və bütün Discord API-ni əhatə edir. Heç birini bilmirsinizsə, Python daha sadə oxunur; JavaScript-in kitabxana ekosistemi daha genişdir.
Botu applications.commands əhatə dairəsi ilə dəvət etdiyinizi və kodun əmrləri sinxronlaşdırdığını yoxlayın. Qlobal əmrlərin görünməsi bir az vaxt ala bilər; görünməsələr, Discord-u yenidən başladın.
Adi mesaj mətnini oxumaq üçün Developer Portal-da aktiv edilmiş və kodunuzda tələb olunan Message Content intent-i lazımdır. Onsuz da bot slash əmrləri, xatırlatmaları və şəxsi mesajları qəbul edir.
Onu dərhal Developer Portal-ın Bot səhifəsində sıfırlayın. Köhnə token işləməyi dayandırır; yenisini botun işlədiyi hər yerə daxil edin, köhnəsini isə kodunuzdan və tarixçədən silin.
Botunuz onlayn, kompüteriniz olmadan
HytHost Discord bot hostinqi Node.js, Python, Java, Go, C#, Bun və ya Lavalink botlarını MySQL verilənlər bazası və ehtiyat nüsxələrlə işlədir — €0.89/ay-dan.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursBu bələdçi sizə kömək etdi?