איך ליצור בוט Discord
בעמוד זה
בוט Discord הוא תוכנה שמתחברת ל-Discord עם חשבון משלה ועונה לפקודות, מנהלת את השרת, מריצה משחקים או מפרסמת עדכונים. כדי ליצור בוט צריך שלושה דברים: אפליקציה ב-Developer Portal של Discord, כמה שורות קוד ומקום שבו הקוד ירוץ.
המדריך הזה בונה בוט עובד עם פקודת slash /ping, ב-Python (discord.py) או ב-JavaScript (discord.js) — בחרו את השפה שאתם מכירים.
שלב 1: יצירת האפליקציה וטוקן הבוט
- פתחו את ה-Developer Portal. היכנסו ל-discord.com/developers/applications, צרו אפליקציה חדשה ותנו לה שם.
- קבלו את הטוקן. בעמוד Bot לחצו על Reset Token והעתיקו אותו. Discord מציג אותו פעם אחת בלבד; אם איבדתם אותו, אפסו אותו שוב.
- שמרו את הטוקן בסוד. זו הסיסמה של הבוט: מי שמחזיק בו שולט בבוט שלכם. לעולם אל תדביקו אותו בקוד שאתם משתפים ואל תעלו אותו ל-Git.
שלב 2: הזמנת הבוט לשרת שלכם
- פתחו את עמוד Installation של האפליקציה.
- בהגדרות ההתקנה ברירת המחדל לשרתים, הוסיפו את ה-scopes
botו-applications.commands, ואת ההרשאות שהבוט צריך — Send Messages מספיקה למדריך הזה. - פתחו את קישור ההתקנה שתקבלו, בחרו את השרת ואשרו. הבוט מופיע ברשימת החברים, במצב לא מחובר עד שהקוד שלכם ירוץ.
מדריכים ישנים יותר משתמשים ב-OAuth2 > URL Generator עם אותם שני scopes; זה עדיין עובד.
שלב 3א: כתיבת הבוט ב-Python (discord.py)
discord.py 2.7 דורש Python 3.8 ומעלה. התקינו אותו וצרו את bot.py:
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"])
הריצו אותו כשהטוקן נמצא במשתנה סביבה, למשל DISCORD_TOKEN=your-token python bot.py ב-Linux או ב-macOS.
שלב 3ב: כתיבת הבוט ב-JavaScript (discord.js)
discord.js 14 דורש Node.js 18 ומעלה. בתיקייה חדשה, הריצו npm install discord.js וצרו את index.js:
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. כשהקונסולה מציגה Logged in, הקלידו /ping בשרת שלכם.
השאירו את הטוקן מחוץ לקוד
- השתמשו במשתנה סביבה או בקובץ
.env, והוסיפו את.envל-.gitignoreלפני ה-commit הראשון. - אם הטוקן דלף, אפסו אותו מיד בעמוד Bot. הטוקן הישן מפסיק לעבוד, ואתם מעדכנים את החדש במקום שבו הבוט רץ.
- GitHub סורק מאגרים ציבוריים לאיתור טוקנים של בוטי Discord ומדווח עליהם ל-Discord, שיכולה לבטל אותם — כך שטוקן שהועלה בטעות מפסיק לעבוד לעיתים קרובות עוד לפני שתשימו לב.
שלב 4: השארת הבוט מחובר
הבוט מחובר רק כל עוד הקוד שלו רץ. סגרו את הטרמינל או כבו את המחשב, והוא מתנתק. יש לכם שלוש אפשרויות:
- המחשב שלכם — חינם, מתאים לפיתוח ולבדיקות, אבל הבוט ישן כשהמחשב ישן.
- מסלול חינמי — רובם משביתים או מגבילים בוטים שרצים כל החודש; ההשוואה נמצאת ב-אחסון בוטי Discord בחינם.
- אחסון בוטים — שרת קטן שפועל תמיד. ב-אחסון בוטי Discord של HytHost אתם מעלים את הפרויקט, בוחרים Node.js, Python או סביבת ריצה אחרת, והפאנל מפעיל את הבוט ומפעיל אותו מחדש אם הוא קורס.
המדריך המלא, מההעלאה ועד הפעלה מחדש אוטומטית, נמצא ב-איך לאחסן בוט Discord 24/7.
הריצו את הבוט בלי להשאיר את המחשב דלוק: אחסון בוטי Discord של HytHost תומך ב-Node.js, Python, Java, Go, C#, Bun ו-Lavalink — החל מ-€0.89 לחודש.
לתוכניות אחסון הבוטיםשאלות נפוצות
כן. יצירת האפליקציה, הטוקן והקוד לא עולה דבר, ו-discord.py ו-discord.js חינמיות. משלמים רק אם רוצים לאחסן אותו במקום שנשאר מחובר.
זו שאתם כבר מכירים. discord.py ו-discord.js בשלות ומכסות את כל ה-Discord API. אם אינכם מכירים אף אחת מהן, Python קלה יותר לקריאה; ל-JavaScript יש מערכת ספריות גדולה יותר.
בדקו שהזמנתם אותו עם ה-scope applications.commands ושהקוד סנכרן את הפקודות. פקודות גלובליות עשויות לקחת רגע עד שיופיעו; אם הן לא מופיעות, הפעילו מחדש את Discord.
קריאת טקסט של הודעות רגילות דורשת את ה-intent Message Content, מופעל ב-Developer Portal ומבוקש בקוד. בלעדיו הבוט עדיין מקבל פקודות slash, אזכורים והודעות פרטיות.
אפסו אותו מיד בעמוד Bot ב-Developer Portal. הטוקן הישן מפסיק לעבוד; שימו את החדש בכל מקום שבו הבוט רץ, והסירו את הישן מהקוד או מההיסטוריה.
הבוט שלכם מחובר, בלי המחשב שלכם
אחסון בוטי Discord של HytHost מריץ Node.js, Python, Java, Go, C#, Bun או Lavalink עם מסד נתונים MySQL וגיבויים — החל מ-€0.89 לחודש.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursהמדריך הזה עזר לך?