[PYTHON] Discord Bot Memorandum ① Création de bot

introduction

Un mémorandum qui a créé le bot Discord

Pour une raison quelconque, je voulais créer un bot Discord, donc un mémorandum de diverses actions de la création du bot Je voulais essayer autre chose que slackbot

La description de l'article est la suivante

Qu'est-ce que Discord

Discord est un logiciel gratuit d'appel vocal / VoIP. (De Wikipedia)

Je l'ai déjà utilisé comme Slack plusieurs fois

Puisqu'il y a un bot dans Slack, je pensais que Discord était aussi ... et je l'ai recherché, mais c'était aussi en discorde, alors j'ai essayé de le faire

Comment créer un bot Discord

Créé à partir de développeur discord

Cliquez sur Nouvelle application sur la page Applications cut1.PNG

On vous demandera le nom du bot, alors donnez-lui votre nom de bot préféré

Ouvrez la page Bot et cliquez sur le bouton Add Bot Cliquez sur Oui, faites-le! cut2.PNG

Le bot créé s'affiche Vous pouvez également modifier l'icône et le nom

** Faites une copie du nom du TOKEN ** cut3.PNG

Définissez OAuth2 comme suit (J'ai essayé d'activer tous les systèmes TEXT pour le moment) cut4.PNG cut5.PNG

Lorsque vous vous connectez à l'URL sur l'écran des paramètres OAuth2, il vous sera demandé où inviter le Bot dans la salle Discord. Une fois l'identité complète, le Bot entrera dans la salle.

cut6.PNG

Module, structure de répertoires, etc.

module

Les modules sont les suivants Veuillez installer si nécessaire

pip install discord   #Requis lors de l'utilisation de discord

Structure du répertoire

La structure des répertoires est la suivante

- dis_python
  - img
    - good.png
  -dis_test.py

J'ai fait diverses choses

Officiel

discord.py Il y a beaucoup de choses écrites. C'est amusant d'enquêter en profondeur sur ce que vous voulez faire

programme

dis_test.py


import discord

TOKEN = "Paste Bot's TOKEN"
client = discord.Client()

GOOD_IMG = "./img/good.PNG"

###Liste des gestionnaires d'événements#################################################
#Changer juste après async def change l'événement exécuté
#Exécuter à la réception du message: activé_message(message)
#Exécuter au démarrage du Bot: activé_ready(message)
#Exécuter lors de l'ajout de la réaction:  on_reaction_add(reaction, user)
#Exécuter à l'arrivée d'un nouveau membre: activé_member_join(member)
#Exécuter le canal vocal activé / désactivé: activé_voice_state_update(member, before, after)
###################################################################


#traitement de démarrage du bot
@client.event
async def on_ready():
    channel = client.get_channel(Collez l'ID de la chaîne)
    await channel.send("Salut! Comment vas-tu?")

#Lors de la réception d'un message
@client.event
async def on_message(message):
    #Ignorer si l'expéditeur est un bot
    if message.author.bot:
        return
    
    if message.content.startswith("Bonjour"):
        await message.channel.send("salut!")
    
    if len(message.attachments) > 0:
        await message.channel.send("Avez-vous envoyé des fichiers? ?? ??")

@client.event
async def on_reaction_add(reaction, user):
    await reaction.message.channel.send('{}Avez-vous pressé? ??'.format(reaction.emoji), file=discord.File(GOOD_IMG))


client.run(TOKEN)

Je résumerai l'explication détaillée la prochaine fois ...

Un petit commentaire

Utilisez le TOKEN et l'ID de chaîne que vous utilisez L'ID de la chaîne est "Numbers 2" à la fin de l'URL

: //discordapp.com/channels/ Numbers 1 / Numbers 2

La liste des gestionnaires d'événements résume ce que vous pouvez utiliser Surtout on_message () est souvent utilisé.

Résultat de sortie

Ligne de commande cut7.PNG

Jouez avec le bot cut8.PNG cut9.PNG

J'ai essayé de le résumer pour le moment

Quant au document, le contenu est profond, je voudrais donc le tourner la prochaine fois. Surtout, l'opération de fichier avec on_message était inopinément gênante, j'ai donc fait un mémorandum à ce sujet (˘ω˘)

Recommended Posts

Discord Bot Memorandum ① Création de bot
Faisons un robot Discord.
Un débutant en Python lance Discord Bot
Création du LINE BOT Parrot Return
J'ai fait un robot discord
[DISCORD BOT] Aide sur les commandes du gestionnaire de serveur
Lancez le bot Discord Python pendant 24 heures.
Mémorandum de création de fichier TFRecord pour la détection d'objets