Op Discord werken mensen samen om ideeën te delen, projecten te bespreken en te chatten over het leven en hobby's in het algemeen. Maar Discord-bots kunnen uw chatrooms leuker maken naast het automatiseren van taken. Dit kan van alles zijn, van het vertellen van willekeurige grappen tot het spelen van specifieke muziek en meer.

Desalniettemin zijn er enkele essentiële stappen die u moet volgen terwijl u leert hoe u een Discord-bot maakt. We zullen ze in dit artikel onderzoeken.

Laten we beginnen.

1. Maak je Discord-server

Voordat je een Discord-bot maakt, moet je beginnen met het maken van een server, omdat dit de plaats is waar de bot wordt toegewezen.

Een Discord-server of chatroom is een ruimte waar je kanalen en communicatie op het platform beheert.

Om een ​​Discord-server te maken, ga je naar de Discord-website en log in op uw Discord-dashboard. Of maak een account aan als je er nog geen hebt.

Eenmaal in je Dashboard, volg je deze stappen om een ​​Discord-server te maken:

  1. Klik op de toevoeging (+) pictogram in de linkerzijbalk.
  2. Selecteer de Maak mijn eigen optie.
  3. Kies een doel voor het maken van uw server.
  4. Pas uw server aan met een profielfoto en een naam. Dan klikken Creëren.

Je hebt nu een Discord-server gemaakt en bent klaar om een ​​bot te maken voor het besturen van bepaalde activiteiten erop.

2. Uw Discord-bot instellen en maken

Vervolgens wil je een Discord-bot maken in een Discord-applicatie door naar de Discord-ontwikkelaarsportal. Of u kunt in plaats daarvan de volgende URL in het adresveld van uw browser typen:

https://discord.com/developers/applications

Eenmaal in de ontwikkelaarsconsole:

  1. Klik Nieuwe applicatie linksboven.
  2. Geef een naam op voor uw toepassing in het opgegeven veld. Dan klikken Creëren.
  3. Kijk naar de linkerzijbalk en selecteer Bot.
  4. Klik Bot toevoegen bij extreem rechts.
  5. Kies in de volgende prompt Ja doe het!
  6. Klik Kopiëren om uw bottoken te kopiëren. Plak dit op een veilige plek en openbaar het niet.
  7. Scroll naar beneden en zet de schakelaar aan onder AANWEZIGHEID INTENTIE. Schakel ook de schakelaar in onder SERVER LEDEN INTENTIE.
  8. Klik vervolgens op OAuth2 in de linkerbalk om authenticatieprioriteiten toe te voegen aan uw Discord-bot.
  9. Selecteer URL-generator om een ​​bot-uitnodigings-URL te genereren voor de server die u eerder hebt gemaakt.
  10. Van de opties, onder TOEPASSINGSGEBIED, selecteer bot.
  11. Scroll naar beneden naar de BOT TOESTEMMING sectie en selecteer rollen voor uw Discord-bot. In dit geval geven we het de Beheerder rol.
  12. Scroll naar beneden en klik op KOPIËREN om de gegenereerde URL naar uw klembord te kopiëren.

Nu om uw server aan de bot te koppelen.

Zoals we al zeiden, werkt een bot voornamelijk binnen de server. Daarom, na het maken van een Discord-bot zoals wij deden, moet je deze toewijzen aan een server waar je wilt dat deze werkt.

Dus zodra u de gegenereerde URL kopieert, volgt u deze volgende stappen om uw chatroom te koppelen aan de Discord-bot:

  1. Plak de gekopieerde URL in het adresveld van uw browser en log erop in.
  2. Klik in de prompt op Selecteer een server en kies degene die je eerder hebt gemaakt.
  3. Klik Doorgaan verder gaan.
  4. Je ziet een nieuw menu met een lijst met rechten die je eerder hebt ingesteld. Selecteer Toestemming geven.
  5. Los de CAPTCHA op om het autoriseren van uw Discord-bot te voltooien.

Je hebt nu een Discord-bot gemaakt. Ga terug naar je serverdashboard en je ziet de robot in de rechterzijbalk. Maar zoals je kunt zien, is het momenteel offline. Het werkt dus nog niet totdat je het programmeert om dit te doen.

Om uw bot te laten werken, moet u een script schrijven in een programmeertaal die het beste voor u werkt.

3. Programmeer uw Discord-bot met Python

Voor deze zelfstudie gebruiken we Python en hosten we de Discord-bot op de lokale computer. Je kunt de jouwe hosten op cloudservices zoals Heroku als je wilt zodra alles is ingesteld. Laten we erin duiken.

Python en bibliotheken instellen

Om je Discord-bot met Python te programmeren, gebruik je de discord.py module, die alleen werkt met Python 3.5.3 of hoger.

Als je dit nog niet hebt gedaan of een eerdere versie hebt, ga dan naar python.org om de nieuwste Python-versie te downloaden.

U kunt de Python-versie controleren die op uw pc is geïnstalleerd door de volgende opdracht in uw terminal in te voeren:

python --versie

Als Python up-to-date is, opent u de terminal naar uw projectroot. Dan een virtuele Python-omgeving activeren.

Je moet ook installeren discord.py en een spraakondersteuningspakket genaamd discord.py[stem].

Terwijl de virtuele omgeving actief is, voert u de volgende opdracht uit in uw terminal om deze pakketten te installeren:

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

Stuur een bericht met je Discord Bot

Hier programmeer je je Discord-bot om te antwoorden met een aangepast bericht wanneer je een tekst in een kanaal verzendt.

Maar typ eerst de volgende code bovenaan uw script om uw Discord-bot te initialiseren:

onenigheid importeren 
# Importeer de commandomodule:
van discord.ext importopdrachten
# Initialiseer de bot-instantie en gebruik een leeg voorvoegsel:
bot = commando's. Bot (command_prefix="")

De bot variabele roept aangepaste commando's op van de opdracht klas. En de command_prefix tussen haakjes kunt u een teken opgeven dat eraan voorafgaat. Tekens zoals het dollarteken ($), uitroepteken (!), ampersand (&) en meer zijn veelvoorkomende voorvoegsels die voorafgaan aan bot-opdrachten.

Maar we hebben het voorvoegsel in ons geval weggelaten. Je hebt er dus geen nodig tijdens het instrueren van de Discord-bot.

De... gebruiken @bot.command() decorateur, laten we een aangepast commando maken, Hoi, en geef een antwoordtekst voor de Discord-bot wanneer deze deze ziet.

Merk op dat aangepaste opdrachten Python-functies zijn:

onenigheid importeren 
# Importeer de commandomodule:
van discord.ext importopdrachten
# Initialiseer de bot-instantie:
bot = commando's. Bot (command_prefix="")
@bot.command()
asynchrone def Hallo (ctx):
wacht op ctx.send("Hallo, welkom op onze server")

nutsvoorzieningen voer het Python-script uit in uw terminal. Ga dan naar Discord en stuur "Hallo" om de magie te zien ontvouwen.

Als je goed kijkt, zie je dat we de hebben gebruikt asynchronewachten methode om de functie te vervullen. Dit is essentieel, omdat het de enige manier is waarop de module met Discord kan communiceren.

De ctx instantie is een context en heeft veel functies. Maar in dit geval kan uw Discord-bot een bericht verzenden.

Verwelkom nieuwe kanaalleden met je bot

In dit voorbeeld ziet u hoe u gebeurtenissen kunt gebruiken om een ​​begroeting te activeren wanneer iemand lid wordt van uw server. Je leert ook hoe je de gebruikersnaam van een nieuw lid en de server waar ze lid van zijn weergeeft in het begroetingsbericht.

We gebruiken @bot.event hier in plaats daarvan. Zo werkt dat:

@bot.event
async def on_member_join (lid):
gilde = lid.gilde
als guild.system_channel niet Geen is:
detailMessage = 'We verwelkomen {0.mention} in de {1.name}!'.format (lid, gilde)
wacht op guild.system_channel.send (detailMessage)

De on_member_join functie is een soort gebeurtenis. Er zijn echter vele anderen. De on_ready method is bijvoorbeeld een veelgebruikte gebeurtenis om te controleren of een bot klaar is of niet.

Verder is de voorwaarde die volgt op de als statement controleert of de aangesloten server (gilde of chatroom) bestaat of niet. Als dat zo is, gebruikt het de Python-tekenreeksindelingmethode om de gebruikersnaam van het nieuwe lid en de server waar ze zich bij hebben aangesloten uit te voeren.

Vraag nu een vriend om lid te worden van uw server om te zien wat er gebeurt. Misschien wilt u dit echter eerst proberen met een dummy Discord-account om er zeker van te zijn dat het werkt.

Vraag Discord Bot om deel te nemen of een audiokanaal te verlaten

Laten we nu de code uitbreiden. En deze keer vertel je je bot om deel te nemen aan een audiokanaal of het te verlaten wanneer het een bepaald commando ontvangt.

In de onderstaande voorbeeldcode voegt de Discord-bot zich bij je in een audiokanaal wanneer je "enter" typt:

@bot.command()
async def enter (ctx):
als ctx.author.voice:
wacht op ctx.message.author.voice.channel.connect()

De toestand binnen de als statement controleert of je al lid bent van een audiokanaal. Zo ja, dan wachten trefwoord verbindt uw Discord-bot ermee.

Het betekent dat je lid moet zijn van een audiokanaal voordat het commando werkt.

Opmerking: zorg ervoor dat u uw Python-script na elke update stopt en opnieuw start. Hiermee kan Python uw wijzigingen synchroniseren.

Zodra je je Python-script opnieuw hebt uitgevoerd, open je Discord en typ je binnenkomen-je zult nu zien dat je Discord-bot zich bij het audiokanaal heeft gevoegd.

Je bot vragen het kanaal te verlaten is net zo eenvoudig als het toevoegen.

De volgende code vertelt het om het kanaal te verlaten wanneer u het juiste commando typt. We gebruiken in dit geval het woord "verlaten":

@bot.command()
async def verlof (ctx):
als ctx.voice_client:
wacht op ctx.guild.voice_client.disconnect()

Stop en voer je script opnieuw uit. De Discord-bot zou nu het audiokanaal moeten verlaten wanneer u de opdracht "verlaten" verzendt.

Blijf je Discord Bot verbeteren

Dat is het! Je hebt van jezelf een functionele Discord-bot gemaakt. Zet de voorbeeldblokken code bij elkaar en blijf functies toevoegen aan je Discord-bot. U kunt het bijvoorbeeld vertellen om muziek af te spelen vanaf uw pc of een streamingplatform zodra het lid wordt van een audiokanaal.

Discord-bots zijn leuk om te gebruiken. Als je er nog geen taken mee automatiseert in je chatrooms, loop je serieuze efficiëntie mis.

Bots toevoegen aan uw Discord-server

Bots kunnen een handig hulpmiddel zijn om uw Discord-server te beheren. Hier is alles wat u moet weten over hoe u ze kunt toevoegen.

Lees volgende

DeelTweetenE-mail
Gerelateerde onderwerpen
  • Programmeren
  • Python
  • Meningsverschil
  • Programmeren
Over de auteur
Idowu Omisola (121 artikelen gepubliceerd)

Idowu is gepassioneerd door alles wat slimme technologie en productiviteit betreft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij vindt het ook heerlijk om af en toe uit de routine te stappen. Zijn passie om mensen de weg te wijzen in moderne technologie motiveert hem om meer te schrijven.

Meer van Idowu Omisola

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren