Ang paggawa ng iyong unang Discord bot ay mas madali kaysa sa iyong iniisip. Hindi mo kailangan ng degree sa computer science o mga taon ng karanasan sa programming. Sa 2026, ang pagbuo at pag-deploy ng isang functional na bot ay tumatagal ng isang weekend kung ikaw ay nakatuon.
Gagabayan ka ng gabay na ito sa buong proseso: pagpaparehistro ng iyong bot, pagsulat ng iyong unang command, pagsubok nito nang lokal, at pag-deploy nito nang live. Sa pagtatapos, magkakaroon ka ng bot na tumatakbo sa iyong server.
Pag-unawa Kung Ano ang Isang Discord Bot
Ang isang Discord bot ay isang programa na kumokonekta sa Discord sa pamamagitan ng API at tumutugon sa mga kaganapan: kapag may nag-type ng command, nag-react sa isang mensahe, sumali sa server, atbp.
Mga pangunahing konsepto:
- Application vs. Bot: Ang iyong "application" ay nakarehistro sa Discord Developer Portal. Ang "bot" ay ang user account na nauugnay sa application na iyon. Ang isang application ay may isang bot.
- Mga Token: Isang lihim na key na nagpapatunay sa iyong bot. Huwag ibahagi ito. Ito ay parang password sa iyong bot.
- Mga Intent: Mga pahintulot na nagpapahintulot sa iyong bot na makita ang ilang mga kaganapan (mga mensahe, mga reaksyon, mga pagbabago sa status ng miyembro, atbp.). Pinapagana mo lamang ang kailangan mo.
- Mga Command: Tumutugon ang mga bot sa mga command. Gumagamit ang mga modernong bot ng mga slash command (
/command) sa halip na mga prefix command (!command). Ang mga slash command ay opisyal na sinusuportahan at inirerekomenda. - Mga Kaganapan: Nakikinig ang iyong bot para sa mga kaganapan sa Discord (mensahe na ipinadala, reaksyon na idinagdag, miyembro na sumali) at tumutugon sa mga ito.
Hakbang 1: Irehistro ang Iyong Bot sa Discord Developer Portal
Dito opisyal na umiiral ang iyong bot sa sistema ng Discord.
Proseso:
- Pumunta sa Discord Developer Portal
- Mag-log in gamit ang iyong Discord account
- I-click ang "New Application"
- Pangalanan ito (hal., "My First Bot")
- I-click ang "Create"
- Nasa mga setting ka na ng iyong application
Ngayon ay lumikha ng bot user:
- Pumunta sa seksyong "Bot" (kaliwang sidebar)
- I-click ang "Add Bot"
- Sa ilalim ng username ng bot, makikita mo ang isang button na "TOKEN"
- Kopyahin ang token — ito ang paraan ng pagpapatunay ng iyong bot. Panatilihing lihim ito. Huwag itong ibahagi sa publiko o i-commit sa GitHub nang walang encryption.
I-configure ang mga setting ng bot:
- Paganahin ang "Message Content Intent" (hinahayaan ang bot na basahin ang text ng mensahe)
- Paganahin ang "Server Members Intent" (hinahayaan ang bot na makita kung sino ang nasa server)
- Mag-scroll pababa sa seksyong "OAuth2"
Hakbang 2: Bumuo ng Invite Link ng Iyong Bot
Kailangan mo ng isang espesyal na invite link upang idagdag ang bot sa isang server.
Sa Developer Portal:
- Pumunta sa "OAuth2" → "URL Generator"
- Sa ilalim ng "SCOPES", i-check ang:
bot - Sa ilalim ng "PERMISSIONS", piliin kung ano ang kayang gawin ng iyong bot:
Send Messages(mahalaga para sa anumang bot)Manage Messages(kung ikaw ay nagmo-moderate)Add Reactions(kung ang bot ay nagre-react sa mga bagay)Connect+Speak(kung ito ay isang music/voice bot)- Para sa pag-aaral, piliin lamang ang
Send Messages+Read Messages(minimum viable)
- Kopyahin ang nabuong URL sa ibaba
- Ibahagi ang URL na ito sa mga may-ari ng server (o gamitin ito mismo upang idagdag sa iyong sariling test server)
Huwag gumamit ng pahintulot ng Administrator maliban kung talagang kinakailangan. Ang sobrang pagpapahintulot ay isang panganib sa seguridad.
Hakbang 3: Piliin ang Iyong Wika at Framework
Dalawang pangunahing opsyon para sa mga baguhan:
JavaScript (discord.js)
Ang Discord.js ay ang pinakasikat na Discord bot framework. Malaking komunidad, maraming tutorial, at mahusay na dokumentasyon.
Mga kalamangan:
- Pinakamalaking komunidad at pinakamaraming tutorial online
- Mahusay ang dokumentasyon ng discord.js
- Malawakang ginagamit ang Node.js at madaling matutunan
- Madaling i-deploy sa karamihan ng mga hosting platform
Mga kahinaan:
- Ang JavaScript ay may mga quirks (async/await learning curve)
- Nagdaragdag ang Node.js ng memory overhead kumpara sa Python
Magsimula:
- I-install ang Node.js (v18+)
- Gumawa ng isang project folder
npm init -ynpm install discord.js
Python (discord.py)
Mas simpleng syntax, mahusay para sa mga baguhan, mahusay para sa pag-aaral ng mga fundamentals.
Mga kalamangan:
- Pinakamadaling syntax na matutunan
- Intuitive para sa mga baguhan
- Maganda ang dokumentasyon ng discord.py
- Ginagamit ang Python sa lahat ng dako (data science, web, automation)
Mga kahinaan:
- Mas maliit na komunidad kaysa sa discord.js (ngunit malaki pa rin)
- Mas kaunting tutorial kaysa sa JavaScript
- Bahagyang mas mataas na paggamit ng memory
Magsimula:
- I-install ang Python 3.10+
- Gumawa ng isang project folder
pip install discord.py
Rekomendasyon para sa mga baguhan: Kung marunong ka ng Python, gamitin ang discord.py. Kung marunong ka ng JavaScript, gamitin ang discord.js. Kung wala kang alam, mas madaling matutunan ang Python, ngunit ang JavaScript ay may mas maraming resources online. Pumili ng isa at maglaan ng oras.
Hakbang 4: Isulat ang Iyong Unang Bot (Halimbawa sa Python)
Narito ang isang minimal na gumaganang Discord bot sa Python na tumutugon sa isang command:
import discord
from discord.ext import commands
# Lumikha ng bot na may command prefix at mga intent
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user} ay nakakonekta na sa Discord!')
@bot.command(name='hello', help='Bumabati')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Tumutugon ng pong')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Ano ang ginagawa nito:
- Kumokonekta sa Discord
- Nakikinig para sa
!helloat!pingna mga command - Tumutugon sa isang mensahe kapag na-trigger
Upang patakbuhin ito:
- Palitan ang
'YOUR_TOKEN_HERE'ng iyong aktwal na token mula sa Hakbang 1 - I-save bilang
bot.py - Patakbuhin:
python bot.py - Sa Discord, i-type ang
!hellosa anumang channel - Tumutugon ang bot: "Hello [YourName]!"
Hakbang 5: Subukan nang Lokal
Bago i-deploy, subukan ang iyong bot nang lokal (sa iyong computer).
Mag-setup ng isang test server:
- Gumawa ng isang pribadong Discord server para sa pagsubok
- Idagdag ang iyong bot dito gamit ang invite link mula sa Hakbang 2
- Patakbuhin ang iyong bot code nang lokal
- I-type ang mga command sa test server
- Magbantay para sa mga error sa iyong terminal; ayusin ang mga ito
Mga karaniwang error:
- "Invalid token" — Mali ang pagkopy mo ng token o nag-expire na ito. Muling bumuo sa Developer Portal.
- "Missing permissions" — Walang pahintulot ang bot na gawin ang aksyon na iyon sa channel na ito. Magdagdag ng mga pahintulot o gumamit ng isang channel kung saan may mas maraming karapatan ang bot.
- "Intents are not enabled" — Kailangan mong paganahin ang mga intent sa Developer Portal (Message Content Intent, Server Members Intent, atbp.)
Subukan nang lubusan. Nakakahiya ang isang bot na may mga bug sa produksyon.
Hakbang 6: Magdagdag ng Higit Pang mga Command
Ngayong naiintindihan mo na ang mga pangunahing kaalaman, palawakin gamit ang higit pang mga tampok.
Halimbawa sa Python — isang simpleng command sa ekonomiya:
@bot.command(name='balance', help='Suriin ang iyong balanse ng coin')
async def balance(ctx):
# Sa isang tunay na bot, ito ay magtatanong sa isang database
# Sa ngayon, ibalik lamang ang isang mock value
await ctx.send(f'{ctx.author.name}, mayroon kang 100 coins!')
@bot.command(name='roll', help='Mag-roll ng dice (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} ay nag-roll ng: **{result}**')
Ang bawat command ay isang simpleng function. Magdagdag ng kasing dami ng gusto mo.
Hakbang 7: I-deploy ang Iyong Bot
Ang pag-host nang lokal ay gumagana para sa pagsubok, ngunit humihinto ang iyong bot kapag isinara mo ang iyong laptop. I-deploy sa isang server upang tumakbo ito 24/7.
Mga Libreng Opsyon sa Hosting
Replit (pinakamadali para sa mga baguhan):
- Pumunta sa Replit.com
- Gumawa ng bagong Repl → Python (o Node.js)
- I-paste ang iyong bot code
- I-click ang "Run"
- Libre itong iho-host ng Replit (na may mga limitasyon: maaaring matulog pagkatapos ng hindi aktibo)
Railway.app (moderno, maaasahan):
- Pumunta sa Railway.app
- Ikonekta ang GitHub (o direktang mag-upload ng mga file)
- Gumawa ng bagong project → piliin ang iyong bot
- Awtomatikong nagde-deploy ang Railway
- Kasama sa libreng tier ang $5 buwanang credit
Glitch (katulad ng Replit):
- Pumunta sa Glitch.com
- Gumawa ng bagong project
- I-paste ang code
- Pinapanatili itong tumatakbo ng Glitch (sa loob ng mga limitasyon ng libreng tier)
Mahalaga: Huwag i-hardcode ang iyong token sa code na ipinapadala mo sa GitHub. Gumamit ng mga environment variable:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Gumawa ng isang .env file nang lokal (idagdag sa .gitignore upang hindi ito ma-commit):
DISCORD_TOKEN=your_actual_token_here
Sa Replit/Railway, itakda ang token bilang isang lihim na environment variable sa mga setting ng platform (hindi sa code).
Mga Karaniwang Pagkakamali ng Baguhan
Pagkakamali 1: Pag-hardcode ng token Huwag kailanman ilagay ang iyong token sa code na ipinapadala mo sa GitHub. Ang mga bot na may leaked token ay nakokompromiso kaagad. Gumamit ng mga environment variable.
Pagkakamali 2: Hindi paghawak ng mga error Nagka-crash ang iyong bot sa hindi inaasahang input. Magdagdag ng error handling:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Hindi maaaring hatiin sa zero!')
except ValueError:
await ctx.send('Mangyaring magpasok ng mga valid na numero!')
Pagkakamali 3: Hindi pagrespeto sa mga rate limit Nililimitahan ng Discord kung gaano kabilis ka makapagpadala ng mga mensahe. Huwag i-spam ang API. Magdagdag ng mga pagkaantala sa pagitan ng mga bulk action.
Pagkakamali 4: Hindi pagpansin sa mga intent Nabibigo ang maraming beginner bot dahil hindi nila pinapagana ang mga kinakailangang intent sa Developer Portal. Suriin ang mga intent na kailangan ng iyong bot bago i-deploy.
Pagkakamali 5: Masyadong ambisyosong saklaw Huwag subukang bumuo ng isang sistema ng ekonomiya, moderation, musika, at 50 command sa iyong unang bot. Magsimula sa 3-5 simpleng command. Palawakin kapag komportable ka na.
Mga Susunod na Hakbang
Ngayong mayroon ka nang isang pangunahing bot:
- Palawakin ang functionality: Magdagdag ng higit pang mga command, gumamit ng mga database upang i-persist ang data, ipatupad ang kumplikadong lohika
- Gumamit ng mga slash command: Modernong
/commandsyntax sa halip na mga prefix command - Magdagdag ng mga reaksyon: Hayaan ang mga user na mag-click ng mga button o mag-react gamit ang mga emoji
- Ikonekta ang isang database: Mag-imbak ng data ng user, mga coin, mga kagustuhan (SQLite para sa mga baguhan, PostgreSQL para sa scale)
- Sumali sa mga komunidad: Ang mga komunidad ng developer ng Discord bot (reddit.com/r/discordbots, Discord.js support server) ay may mga sagot sa bawat tanong
Mga Resources
- discord.js documentation: https://discord.js.org
- discord.py documentation: https://discordpy.readthedocs.io
- Discord API docs: https://discord.com/developers/docs/intro
- Mga tutorial sa YouTube: Maghanap ng "[discord.js/discord.py] tutorial" — napakaraming content
Ang iyong unang Discord bot ay isang weekend project. Ang iyong unang magandang Discord bot ay isang buwan ng pagsasanay. Ang iyong unang bot na ginagamit ng 1,000 server ay mga buwan ng pag-ulit, pagbuo ng tampok, at pagbuo ng komunidad. Magsimula ngayon, umulit nang palagi, at huwag masyadong mag-isip.