Discord Botu Nasıl Yapılır
Bu sayfada
Discord botu, Discord'a kendi hesabıyla giriş yapan ve komutlara yanıt veren, moderasyon yapan, oyun oynatan veya güncellemeler paylaşan bir programdır. Bir bot yapmak için üç şey gerekir: Discord'un Developer Portal'ında bir uygulama, birkaç satır kod ve bu kodun çalışacağı bir yer.
Bu rehberde Python (discord.py) veya JavaScript (discord.js) ile /ping slash komutuna sahip çalışan bir bot oluşturuyoruz — bildiğiniz dili seçin.
Adım 1: Uygulamayı ve bot token'ını oluşturun
- Developer Portal'ı açın. discord.com/developers/applications adresine gidin, yeni bir uygulama oluşturun ve ona bir ad verin.
- Token'ı alın. Bot sayfasında Reset Token'a tıklayın ve token'ı kopyalayın. Discord onu yalnızca bir kez gösterir; kaybederseniz yeniden sıfırlayın.
- Token'ı gizli tutun. Token botun şifresidir: ona sahip olan herkes botunuzu kontrol eder. Paylaştığınız koda asla yapıştırmayın ve Git'e commit etmeyin.
Adım 2: Botu sunucunuza davet edin
- Uygulamanızın Installation sayfasını açın.
- Sunucular (guilds) için varsayılan kurulum ayarlarında
botveapplications.commandskapsamlarını ve botun ihtiyaç duyduğu izinleri ekleyin — bu rehber için Send Messages yeterlidir. - Size verilen kurulum bağlantısını açın, sunucunuzu seçin ve yetkilendirin. Bot üye listesinde görünür; kodunuz çalışana kadar çevrimdışıdır.
Eski rehberler aynı iki kapsamla OAuth2 > URL Generator yolunu kullanır; bu yöntem hâlâ çalışır.
Adım 3a: Botu Python ile yazın (discord.py)
discord.py 2.7, Python 3.8 veya daha yenisini gerektirir. Kurun ve bot.py dosyasını oluşturun:
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 bir ortam değişkenindeyken çalıştırın; örneğin Linux veya macOS'ta DISCORD_TOKEN=your-token python bot.py.
Adım 3b: Botu JavaScript ile yazın (discord.js)
discord.js 14, Node.js 18 veya daha yenisini gerektirir. Yeni bir klasörde npm install discord.js komutunu çalıştırın ve index.js dosyasını oluşturun:
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 ile başlatın. Konsolda Logged in göründüğünde sunucunuzda /ping yazın.
Token'ı kodunuzun dışında tutun
- Bir ortam değişkeni veya
.envdosyası kullanın ve ilk commit'inizden önce.envdosyasını.gitignore'a ekleyin. - Token sızarsa sıfırlayın; bunu hemen Bot sayfasında yapın. Eski token çalışmayı bırakır ve yenisini botun çalıştığı yerde güncellersiniz.
- GitHub, herkese açık depoları Discord bot token'ları için tarar ve bunları Discord'a bildirir; Discord da token'ları iptal edebilir — bu yüzden yanlışlıkla gönderilen bir token çoğu zaman siz fark etmeden çalışmayı bırakır.
Adım 4: Botunuzu çevrimiçi tutun
Botunuz yalnızca kodu çalıştığı sürece çevrimiçidir. Terminali kapatırsanız veya bilgisayarı kapatırsanız bot çevrimdışı olur. Üç seçeneğiniz var:
- Kendi bilgisayarınız — ücretsizdir, geliştirme ve test için uygundur, ancak bilgisayar uyuduğunda bot da uyur.
- Ücretsiz bir paket — çoğu, ay boyunca çalışan botları uyutur veya sınırlar; artı ve eksileri ücretsiz Discord bot hosting rehberinde karşılaştırıyoruz.
- Bot hosting — sürekli açık küçük bir sunucu. HytHost Discord bot hosting üzerinde projenizi yükler, Node.js, Python veya başka bir çalışma ortamı seçersiniz; panel botu başlatır ve çökerse yeniden başlatır.
Yüklemeden otomatik yeniden başlatmaya kadar tüm adımlar Discord botu 7/24 nasıl barındırılır rehberinde.
Bilgisayarınızı açık bırakmadan botunuzu çalıştırın: HytHost Discord bot hosting Node.js, Python, Java, Go, C#, Bun ve Lavalink destekler — €0.89/ay'dan başlayan fiyatlarla.
Bot hosting paketlerini görünSıkça sorulan sorular
Evet. Uygulamayı, token'ı ve kodu oluşturmak hiçbir şeye mal olmaz; discord.py ve discord.js de ücretsizdir. Yalnızca botu sürekli çevrimiçi kalan bir yerde barındırmak isterseniz ödeme yaparsınız.
Hangisini zaten biliyorsanız. discord.py ve discord.js ikisi de olgundur ve Discord API'nin tamamını kapsar. İkisini de bilmiyorsanız Python daha kolay okunur; JavaScript'in kütüphane ekosistemi daha geniştir.
Botu applications.commands kapsamıyla davet ettiğinizi ve kodun komutları senkronize ettiğini kontrol edin. Global komutların görünmesi biraz zaman alabilir; görünmezlerse Discord'u yeniden başlatın.
Normal mesaj metnini okumak için Developer Portal'da açılan ve kodunuzda istenen Message Content intent'i gerekir. Bu olmadan bot yine de slash komutlarını, bahsetmeleri ve özel mesajları alır.
Developer Portal'daki Bot sayfasında hemen sıfırlayın. Eski token çalışmayı bırakır; yenisini botun çalıştığı her yere girin ve eskisini kodunuzdan ve geçmişten kaldırın.
Botunuz çevrimiçi, bilgisayarınıza gerek yok
HytHost Discord bot hosting; Node.js, Python, Java, Go, C#, Bun veya Lavalink botlarını MySQL veritabanı ve yedeklerle çalıştırır — €0.89/ay'dan başlayan fiyatlarla.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursBu rehber işine yaradı mı?