A Discordon az emberek együttműködnek, hogy megosszák egymással ötleteiket, megvitassák a projekteket, és általában az életről és a hobbikról csevegjenek. De a Discord botok a feladatok automatizálása mellett szórakoztatóbbá tehetik a chatszobáit. Ezek bármiek lehetnek, a véletlenszerű viccek elmondásától a konkrét zene lejátszásáig és így tovább.

Mindazonáltal van néhány alapvető lépés, amelyet követnie kell a Discord bot készítésének megtanulásakor. Ebben a cikkben megvizsgáljuk őket.

Lássunk neki.

1. Hozd létre a Discord szerveredet

Mielőtt létrehozna egy Discord botot, először egy szerver létrehozásával kell kezdenie, mivel ez a bot hozzárendelési helye.

A Discord szerver vagy csevegőszoba egy olyan hely, ahol a platformon kezelheti a csatornákat és a kommunikációt.

Discord-kiszolgáló létrehozásához lépjen a következő oldalra: Discord weboldal és jelentkezzen be a Discord irányítópultjára. Vagy hozzon létre egy fiókot, ha még nem rendelkezik vele.

Az irányítópulton az alábbi lépéseket követve létrehozhat egy Discord-kiszolgálót:

instagram viewer
  1. Kattintson a kiegészítésre (+) ikont a bal oldalsávon.
  2. Válaszd ki a Saját létrehozása választási lehetőség.
  3. Válasszon célt a szerver létrehozásához.
  4. Szabja testre szerverét egy profilképpel és egy névvel. Ezután kattintson Teremt.

Létrehozott egy Discord-kiszolgálót, és készen áll egy bot létrehozására bizonyos tevékenységek vezérlésére.

2. Állítsa be és hozza létre a Discord Botot

Ezután létre kell hozni egy Discord botot egy Discord alkalmazáson belül a következő oldalon Discord fejlesztői portál. Vagy beírhatja a következő URL-t a böngésző címmezőjébe:

https://discord.com/developers/applications

A fejlesztői konzolban:

  1. Kattintson Új alkalmazás a bal felső sarokban.
  2. Adja meg a pályázat nevét a megadott mezőben. Ezután kattintson Teremt.
  3. Tekintse meg a bal oldalsávot, és válassza ki Bot.
  4. Kattintson Bot hozzáadása a szélső jobb oldalon.
  5. A következő promptból válassza a lehetőséget Igen, csináld!
  6. Kattintson Másolat hogy másolja a bot tokenjét. Illessze be biztonságos helyre, és ne fedje fel.
  7. Görgessen le, és kapcsolja be az alatta lévő kapcsolót JELENLÉT SZÁNDÉK. Kapcsolja be az alatti kapcsolót is SZERVERTAGOK SZÁNDÉKA.
  8. Ezután kattintson OAuth2 a bal oldali sávon, hogy hitelesítési prioritásokat adjon a Discord botjához.
  9. Válassza ki URL generátor bot-meghívó URL létrehozásához a korábban létrehozott szerverhez.
  10. A lehetőségek közül, alatt HATÁLYOK, válassza ki bot.
  11. Görgessen le a BOT ENGEDÉLY szakaszt, és válasszon szerepeket a Discord bot számára. Ebben az esetben megadjuk a Adminisztrátor szerep.
  12. Görgessen le, és kattintson MÁSOLAT hogy a generált URL-t a vágólapra másolja.

Most kapcsolja össze a szervert a bottal.

Mint említettük, a bot elsősorban a szerveren belül működik. Ezért a Discord bot létrehozása után, ahogy mi tettük, hozzá kell rendelnie egy olyan szerverhez, ahol működni szeretné.

Tehát miután kimásolta a generált URL-t, kövesse az alábbi lépéseket a chat-szoba és a Discord bot összekapcsolásához:

  1. Illessze be a kimásolt URL-t a böngésző címmezőjébe, és jelentkezzen be.
  2. A promptban kattintson a gombra Válasszon ki egy szervert és válassza ki a korábban létrehozottat.
  3. Kattintson Folytatni A folytatáshoz.
  4. Megjelenik egy új menü a korábban beállított engedélyek listájával. Válassza ki Engedélyezze.
  5. Oldja meg a CAPTCHA-t a Discord bot engedélyezésének befejezéséhez.

Létrehozott egy Discord botot. Menjen vissza a szerver irányítópultjára, és a jobb oldalsávon megjelenik a robot. De amint látja, jelenleg offline állapotban van. Tehát még nem működik, amíg nem programozod rá.

Ahhoz, hogy a bot működjön, meg kell írnia egy szkriptet az Ön számára legmegfelelőbb programozási nyelven.

3. Programozza be Discord Botját Python használatával

Ebben az oktatóanyagban Pythont használunk, és a Discord botot a helyi gépen tároljuk. Ha akarja, a sajátját felhőszolgáltatásokon, például a Herokuban is tárolhatja, ha minden be van állítva. Merüljünk el.

Állítsa be a Python-t és a könyvtárakat

A Discord bot Python programozásához használja a discord.py modul, amely csak a Python 3.5.3 vagy újabb verziójával működik.

Ha még nem tette meg, vagy van egy korábbi verziója, lépjen a következő helyre: python.org a legújabb Python verzió letöltéséhez.

A számítógépére telepített Python verziót a következő parancs beírásával ellenőrizheti a terminálon:

python --verzió

Ha a Python naprakész, nyissa meg a terminált a projektgyökérnek. Azután aktiváljon egy Python virtuális környezetet.

Ezenkívül telepítenie kell discord.py és egy hangtámogatási csomagot hívnak discord.py[hang].

Ha a virtuális környezet aktív, futtassa a következő parancsot a terminálon a csomagok telepítéséhez:

pip install -U discord.py discord.py[voice]

Üzenet küldése Discord Botjával

Itt programozhatja be Discord botját, hogy egyéni üzenettel válaszoljon, amikor szöveget küld egy csatornán.

De először írja be a következő kódot a szkript tetejére a Discord bot inicializálásához:

import viszály 
# Importálja a parancsmodult:
a discord.ext import parancsokból
# Inicializálja a bot példányt, és használjon üres előtagot:
bot = parancsok. Bot (command_prefix="")

A bot változó egyéni parancsokat hív meg a parancs osztály. És a parancs_előtag a zárójelben lehetővé teszi az előtte lévő karakter megadását. Az olyan karakterek, mint a dollárjel ($), a felkiáltójel (!), az „és” (&) és egyebek gyakori előtagok, amelyek megelőzik a botparancsokat.

De esetünkben az előtagot töröltük. Így nincs szüksége rá, miközben a Discord botot utasítja.

Használni a @bot.command() lakberendező, adjunk egyedi parancsot, Szia, és adjon meg egy válaszszöveget a Discord bot számára, amikor meglátja.

Vegye figyelembe, hogy az egyéni parancsok Python-függvények:

import viszály 
# Importálja a parancsmodult:
a discord.ext import parancsokból
# Inicializálja a bot példányt:
bot = parancsok. Bot (command_prefix="")
@bot.command()
async def Szia (ctx):
await ctx.send("Szia, üdvözöljük szerverünkön")

Most futtassa a Python szkriptet a termináljában. Ezután lépjen a Discord-ba, és küldje el a "Szia" üzenetet, hogy lássa a varázslat kibontakozását.

Ha alaposan megnézzük, látni fogja, hogy használtuk a asyncvárják módszer a funkció kiszolgálására. Ez elengedhetetlen, mivel ez az egyetlen módja annak, hogy a modul kommunikáljon a Discorddal.

A ctx példány egy kontextus, és számos funkciója van. De ebben az esetben lehetővé teszi a Discord bot számára, hogy üzenetet küldjön.

Üdvözöljük az új csatornatagokat a robotjával

Ebben a példában látni fogja, hogyan használhatja az eseményeket üdvözlő üzenet kiváltására, amikor valaki csatlakozik a szerveréhez. Azt is megtudhatja, hogyan jelenítheti meg az üdvözlő üzenetben az új tagok felhasználónevét és azt a szervert, amelyhez csatlakozott.

Használjuk @bot.event itt helyette. Ez a következőképpen működik:

@bot.event
async def on_member_join (tag):
céh = tag.guild
ha a guild.system_channel értéke nem None:
detailMessage = 'Üdvözöljük {0.mention} felhasználót a {1.name}!'.formátumban (tag, céh)
await guild.system_channel.send (detailMessage)

A on_member_join A funkció egy eseménytípus. Vannak azonban sokan mások is. A on_ready módszer például egy széles körben használt esemény annak ellenőrzésére, hogy egy bot készen áll-e vagy sem.

Továbbá az azt követő feltétel a ha utasítás ellenőrzi, hogy a csatlakoztatott szerver (céh vagy chat szoba) létezik-e vagy sem. Ha igen, akkor a Python karakterlánc formátummetódus az új tag felhasználónevének és a kiszolgálónak a kiadásához, amelyhez csatlakozott.

Most kérje meg egy barátját, hogy csatlakozzon a szerverhez, hogy lássa, mi történik. Érdemes lehet azonban először egy ál Discord-fiókkal kipróbálni, hogy biztosan működjön.

Kérje meg a Discord Botot, hogy csatlakozzon vagy hagyja el az audiocsatornát

Most bővítsük ki a kódot. Ezúttal pedig felszólítja a botját, hogy csatlakozzon vagy hagyja el az audiocsatornát, amikor egy adott parancsot kap.

Az alábbi példakódban a Discord bot csatlakozik egy hangcsatornához, amikor beírja az „enter” szót:

@bot.command()
async def enter (ctx):
ha ctx.author.voice:
várja a ctx.message.author.voice.channel.connect()

A feltétel a ha nyilatkozat ellenőrzi, hogy csatlakoztál-e már egy audiocsatornához. Ha igen, a várják kulcsszó összekapcsolja vele a Discord botot.

Ez azt jelenti, hogy csatlakoznia kell egy hangcsatornához, mielőtt a parancs működni fog.

jegyzet: Győződjön meg arról, hogy minden frissítés után leállítja és újraindítja a Python-szkriptet. Lehetővé teszi a Python számára a módosítások szinkronizálását.

Miután újra végrehajtotta a Python-szkriptet, nyissa meg a Discord-ot, és írja be belép– most látni fogja, hogy a Discord botja csatlakozott az audiocsatornához.

Ugyanolyan egyszerű megkérni a robotot, hogy hagyja el a csatornát, mint hozzáadni.

A következő kód arra utasítja, hogy hagyja el a csatornát, amikor beírja a megfelelő parancsot. Ebben az esetben a „hagyni” szót használjuk:

@bot.command()
aszinkron def szabadság (ctx):
if ctx.voice_client:
várja a ctx.guild.voice_client.disconnect()

Állítsa le, és futtassa újra a szkriptet. A Discord botnak most el kell hagynia az audiocsatornát, amikor elküldi a "leave" parancsot.

Folytassa a Discord Bot fejlesztésével

Ez az! Csináltál magadnak egy működőképes Discord botot. Állítsa össze a példakód blokkokat, és folytassa a funkciók hozzáadásával a Discord botot. Például megmondhatja, hogy játssza le a zenét a számítógépéről vagy egy streaming platformról, amint csatlakozik egy audiocsatornához.

A Discord botok használata szórakoztató. Ha még nem automatizálod velük a feladatokat a chatszobáidban, akkor komoly hatékonyságtól essz el.

Hogyan adjunk botokat a Discord szerverhez

A botok hasznos eszközök lehetnek a Discord-kiszolgáló kezeléséhez. Itt van minden, amit tudni kell a hozzáadásuk módjáról.

Olvassa el a következőt

RészvényCsipogEmail
Kapcsolódó témák
  • Programozás
  • Piton
  • Viszály
  • Programozás
A szerzőről
Idowu Omisola (121 cikk megjelent)

Idowu szenvedélyesen rajong minden intelligens technológiáért és a termelékenységért. Szabadidejében kódolással játszik, és ha unatkozik sakktáblára vált, de szeret időnként kiszakadni a rutinból. Szenvedélye, hogy megmutassa az embereknek a modern technológiát, arra sarkallja, hogy többet írjon.

Továbbiak Idowu Omisola-tól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez