Ensimmäisen Discord-botin luominen on helpompaa kuin luulet. Et tarvitse tietojenkäsittelytieteen tutkintoa tai vuosien ohjelmointikokemusta. Vuonna 2026 toimivan botin rakentaminen ja käyttöönotto vie viikonlopun, jos olet keskittynyt.
Tämä opas opastaa sinut koko prosessin läpi: bottisi rekisteröinti, ensimmäisen komennon kirjoittaminen, sen testaaminen paikallisesti ja sen käyttöönotto livenä. Lopuksi sinulla on botti, joka toimii palvelimellasi.
Discord-botin ymmärtäminen
Discord-botti on ohjelma, joka muodostaa yhteyden Discordiin API:n kautta ja vastaa tapahtumiin: kun joku kirjoittaa komennon, reagoi viestiin, liittyy palvelimelle jne.
Avainkäsitteet:
- Sovellus vs. Botti: "Sovelluksesi" on rekisteröity Discord Developer Portalissa. "Botti" on käyttäjätili, joka on liitetty kyseiseen sovellukseen. Yhdellä sovelluksella on yksi botti.
- Tokenit: Salainen avain, joka todentaa bottisi. Älä koskaan jaa tätä. Se on kuin salasana botillesi.
- Intents: Oikeudet, joiden avulla bottisi näkee tiettyjä tapahtumia (viestejä, reaktioita, jäsentilan muutoksia jne.). Ota käyttöön vain se, mitä tarvitset.
- Komennot: Botit vastaavat komentoihin. Nykyaikaiset botit käyttävät slash-komentoja (
/komento) etuliitekomentojen (!komento) sijaan. Slash-komentoja tuetaan virallisesti ja suositellaan. - Tapahtumat: Bottisi kuuntelee Discord-tapahtumia (viesti lähetetty, reaktio lisätty, jäsen liittynyt) ja reagoi niihin.
Vaihe 1: Rekisteröi bottisi Discord Developer Portalissa
Tässä bottisi virallisesti on olemassa Discord-järjestelmässä.
Prosessi:
- Siirry Discord Developer Portaliin
- Kirjaudu sisään Discord-tililläsi
- Napsauta "New Application"
- Nimeä se (esim. "Ensimmäinen bottini")
- Napsauta "Create"
- Olet nyt sovellusasetuksissasi
Luo nyt bottikäyttäjä:
- Siirry "Bot"-osioon (vasen sivupalkki)
- Napsauta "Add Bot"
- Botin käyttäjänimen alla näet "TOKEN"-painikkeen
- Kopioi token — näin bottisi todennetaan. Pidä tämä salassa. Älä koskaan jaa sitä julkisesti tai tallenna sitä GitHubiin ilman salausta.
Määritä bottiasetukset:
- Ota käyttöön "Message Content Intent" (antaa botin lukea viestin tekstin)
- Ota käyttöön "Server Members Intent" (antaa botin nähdä, ketkä ovat palvelimella)
- Vieritä alas "OAuth2"-osioon
Vaihe 2: Luo bottisi kutsulinkki
Tarvitset erityisen kutsulinkin lisätäksesi botin palvelimelle.
Developer Portalissa:
- Siirry "OAuth2" → "URL Generator"
- Valitse "SCOPES"-kohdasta:
bot - Valitse "PERMISSIONS"-kohdasta, mitä bottisi voi tehdä:
Send Messages(välttämätön mille tahansa botille)Manage Messages(jos moderoit)Add Reactions(jos botti reagoi asioihin)Connect+Speak(jos se on musiikki-/äänibotti)- Oppimiseen valitse vain
Send Messages+Read Messages(minimi)
- Kopioi luotu URL alareunasta
- Jaa tämä URL palvelimen omistajien kanssa (tai käytä sitä itse lisätäksesi sen omaan testipalvelimeesi)
Älä käytä järjestelmänvalvojan oikeuksia, ellei se ole ehdottoman välttämätöntä. Liiallinen oikeuksien myöntäminen on tietoturvariski.
Vaihe 3: Valitse kielesi ja kehyksesi
Kaksi päävaihtoehtoa aloittelijoille:
JavaScript (discord.js)
Discord.js on suosituin Discord-bottikehys. Valtava yhteisö, paljon opetusohjelmia ja erinomainen dokumentaatio.
Hyvät puolet:
- Suurin yhteisö ja eniten opetusohjelmia verkossa
- discord.js-dokumentaatio on erinomainen
- Node.js on laajalti käytetty ja helppo oppia
- Helppo käyttöönotto useimmille isännöintialustoille
Huonot puolet:
- JavaScriptillä on omituisuuksia (async/await-oppimiskäyrä)
- Node.js lisää muistin kulutusta verrattuna Pythoniin
Aloita:
- Asenna Node.js (v18+)
- Luo projektikansio
npm init -ynpm install discord.js
Python (discord.py)
Yksinkertaisempi syntaksi, sopii erinomaisesti aloittelijoille, erinomainen perusteiden oppimiseen.
Hyvät puolet:
- Helpoin syntaksi oppia
- Intuitiivinen aloittelijoille
- discord.py-dokumentaatio on hyvä
- Pythonia käytetään kaikkialla (datatieteessä, verkossa, automaatiossa)
Huonot puolet:
- Pienempi yhteisö kuin discord.js (mutta silti suuri)
- Vähemmän opetusohjelmia kuin JavaScriptillä
- Hieman suurempi muistin käyttö
Aloita:
- Asenna Python 3.10+
- Luo projektikansio
pip install discord.py
Suositus aloittelijoille: Jos osaat Pythonia, käytä discord.py:tä. Jos osaat JavaScriptiä, käytä discord.js:ää. Jos et osaa kumpaakaan, Python on helpompi oppia, mutta JavaScriptillä on enemmän resursseja verkossa. Valitse yksi ja sitoudu.
Vaihe 4: Kirjoita ensimmäinen bottisi (Python-esimerkki)
Tässä on minimaalinen toimiva Discord-botti Pythonissa, joka vastaa komentoihin:
import discord
from discord.ext import commands
# Luo botti komentoetuliitteellä ja intentsillä
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} has connected to Discord!')
@bot.command(name='hello', help='Sanoo hei')
async def hello(ctx):
await ctx.send(f'Hello {ctx.author.name}!')
@bot.command(name='ping', help='Vastaa pongilla')
async def ping(ctx):
await ctx.send('Pong!')
bot.run('YOUR_TOKEN_HERE')
Mitä tämä tekee:
- Muodostaa yhteyden Discordiin
- Kuuntelee
!hello- ja!ping-komentoja - Vastaa viestillä, kun se käynnistetään
Suorita se:
- Korvaa
'YOUR_TOKEN_HERE'todellisella tokenillasi vaiheesta 1 - Tallenna nimellä
bot.py - Suorita:
python bot.py - Kirjoita Discordissa
!hellomissä tahansa kanavassa - Botti vastaa: "Hello [Nimesi]!"
Vaihe 5: Testaa paikallisesti
Ennen käyttöönottoa testaa bottisi paikallisesti (tietokoneellasi).
Määritä testipalvelin:
- Luo yksityinen Discord-palvelin testausta varten
- Lisää bottisi siihen vaiheen 2 kutsulinkin avulla
- Suorita bottikoodisi paikallisesti
- Kirjoita komentoja testipalvelimelle
- Tarkkaile virheitä terminaalissasi; korjaa ne
Yleiset virheet:
- "Invalid token" — Kopioit tokenin väärin tai se on vanhentunut. Luo uudelleen Developer Portalissa.
- "Missing permissions" — Botilla ei ole oikeutta tehdä kyseistä toimintoa tässä kanavassa. Lisää oikeuksia tai käytä kanavaa, jossa botilla on enemmän oikeuksia.
- "Intents are not enabled" — Sinun on otettava intents käyttöön Developer Portalissa (Message Content Intent, Server Members Intent jne.)
Testaa perusteellisesti. Botti, jossa on virheitä tuotannossa, on noloa.
Vaihe 6: Lisää lisää komentoja
Nyt kun ymmärrät perusasiat, laajenna useammilla ominaisuuksilla.
Python-esimerkki — yksinkertainen talouskomento:
@bot.command(name='balance', help='Tarkista kolikkosaldosi')
async def balance(ctx):
# Todellisessa botissa tämä kyselisi tietokannasta
# Palauta toistaiseksi vain malliarvo
await ctx.send(f'{ctx.author.name}, sinulla on 100 kolikkoa!')
@bot.command(name='roll', help='Heitä noppaa (1-6)')
async def roll(ctx):
import random
result = random.randint(1, 6)
await ctx.send(f'{ctx.author.name} heitti: **{result}**')
Jokainen komento on yksinkertainen funktio. Lisää niin monta kuin haluat.
Vaihe 7: Ota bottisi käyttöön
Paikallinen isännöinti toimii testausta varten, mutta bottisi pysähtyy, kun suljet kannettavan tietokoneesi. Ota käyttöön palvelimella, jotta se toimii 24/7.
Ilmaiset isännöintivaihtoehdot
Replit (helpoin aloittelijoille):
- Siirry osoitteeseen Replit.com
- Luo uusi Repl → Python (tai Node.js)
- Liitä bottikoodisi
- Napsauta "Run"
- Replit isännöi sen ilmaiseksi (rajoituksilla: voi nukkua toimettomuuden jälkeen)
Railway.app (moderni, luotettava):
- Siirry osoitteeseen Railway.app
- Yhdistä GitHub (tai lataa tiedostot suoraan)
- Luo uusi projekti → valitse bottisi
- Railway ottaa käyttöön automaattisesti
- Ilmainen taso sisältää 5 dollarin kuukausittaisen saldon
Glitch (samanlainen kuin Replit):
- Siirry osoitteeseen Glitch.com
- Luo uusi projekti
- Liitä koodi
- Glitch pitää sen käynnissä (ilmaisen tason rajoissa)
Tärkeää: Älä kovakoodaa tokeniasi koodiin, jonka lähetät GitHubiin. Käytä ympäristömuuttujia:
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
bot.run(TOKEN)
Luo .env-tiedosto paikallisesti (lisää .gitignore-tiedostoon, jotta sitä ei tallenneta):
DISCORD_TOKEN=your_actual_token_here
Aseta Replitissä/Railway:ssä token salaiseksi ympäristömuuttujaksi alustan asetuksissa (ei koodissa).
Yleiset aloittelijoiden virheet
Virhe 1: Tokenin kovakoodaus Älä koskaan laita tokeniasi koodiin, jonka lähetät GitHubiin. Botit, joiden tokenit vuotavat, vaarantuvat välittömästi. Käytä ympäristömuuttujia.
Virhe 2: Virheiden käsittelemättä jättäminen Bottisi kaatuu odottamattoman syötteen vuoksi. Lisää virheiden käsittely:
@bot.command()
async def divide(ctx, a: int, b: int):
try:
result = a / b
await ctx.send(result)
except ZeroDivisionError:
await ctx.send('Cannot divide by zero!')
except ValueError:
await ctx.send('Please enter valid numbers!')
Virhe 3: Nopeusrajoitusten noudattamatta jättäminen Discord rajoittaa, kuinka nopeasti voit lähettää viestejä. Älä roskapostita API:a. Lisää viiveitä joukkotoimintojen välille.
Virhe 4: Intentsien huomiotta jättäminen Monet aloittelijoiden botit epäonnistuvat, koska he eivät ota tarvittavia intentsejä käyttöön Developer Portalissa. Tarkista bottisi tarvitsemat intentsit ennen käyttöönottoa.
Virhe 5: Liian kunnianhimoinen laajuus Älä yritä rakentaa talousjärjestelmää, moderointia, musiikkia ja 50 komentoa ensimmäisessä botissasi. Aloita 3-5 yksinkertaisella komennolla. Laajenna, kun olet mukava.
Seuraavat vaiheet
Nyt kun sinulla on perusbotti:
- Laajenna toiminnallisuutta: Lisää lisää komentoja, käytä tietokantoja tietojen säilyttämiseen, toteuta monimutkaista logiikkaa
- Käytä slash-komentoja: Nykyaikainen
/komento-syntaksi etuliitekomentojen sijaan - Lisää reaktioita: Anna käyttäjien napsauttaa painikkeita tai reagoida emojilla
- Yhdistä tietokanta: Tallenna käyttäjätietoja, kolikoita, asetuksia (SQLite aloittelijoille, PostgreSQL skaalautuvuutta varten)
- Liity yhteisöihin: Discord-bottikehittäjäyhteisöillä (reddit.com/r/discordbots, Discord.js-tukipalvelin) on vastauksia jokaiseen kysymykseen
Resurssit
- discord.js-dokumentaatio: https://discord.js.org
- discord.py-dokumentaatio: https://discordpy.readthedocs.io
- Discord API -dokumentit: https://discord.com/developers/docs/intro
- YouTube-opetusohjelmat: Hae "[discord.js/discord.py] tutorial" — valtava määrä sisältöä
Ensimmäinen Discord-bottisi on viikonloppuprojekti. Ensimmäinen hyvä Discord-bottisi on kuukauden harjoittelu. Ensimmäinen bottisi, jota käyttää 1 000 palvelinta, on kuukausien iteraatio, ominaisuuksien kehittäminen ja yhteisön rakentaminen. Aloita nyt, iteroi jatkuvasti äläkä yliajattele sitä.