Créez un bot discord qui notifie unilatéralement avec python (seuls les requêtes et json sont utilisés)

Contenu

Quand il s'agit de créer des bots discord en utilisant python, il semble qu'il en existe à peu près deux types.

--Type qui fonctionne de manière interactive ――Il semble qu'une bibliothèque appelée discord.py soit pratique. Non couvert dans cet article. --Type de notification unilatéral --Cliquez ici pour notifier régulièrement. Ceci est expliqué ci-dessous.

obtenir l'URL du webhook

L'acquisition est requise pour chaque canal. Vous pouvez vous référer à "Obtenir l'URL du Webhook" sur cette page. Les paramètres d'option peuvent être définis avec du code, vous pouvez donc le transmettre.

Édition abrégée

La configuration la plus simple est la suivante.

import requests, json


webhook_url  = 'URL du Webhook obtenue précédemment'
main_content = {'content': 'Texte à envoyer'}
headers      = {'Content-Type': 'application/json'}

response     = requests.post(webhook_url, json.dumps(main_content), headers=headers)

Transmission réussie! SS 2020-07-12 21.04.33.png

L'apparition du bot

L'apparence du bot peut être définie dans le code comme suit: Il semble que l'URL de l'image soit nécessaire pour définir l'icône. Ci-dessous, l'URL de l'icône du compte Twitter est donnée. Dans le cas d'un fichier image local, n'y a-t-il pas d'autre choix que de le définir lors de l'obtention de l'URL du Webhook?

import requests, json


webhook_url  = 'URL du Webhook obtenue précédemment'
main_content = {
                   'username': 'Nom',
                   'avatar_url': 'URL de l'image',
                   'content': 'texte'
               }
headers      = {'Content-Type': 'application/json'}

response     = requests.post(webhook_url, json.dumps(main_content), headers=headers)

Transmission réussie! SS 2020-07-12 21.07.59.png

Je veux élaborer l'apparence du message

Utilisez des intégrations. Pour plus d'informations, cliquez ici (https://birdie0.github.io/discord-webhooks-guide/structure/embeds.html). Un exemple est donné ci-dessous.

import requests, json


webhook_url  = 'URL du Webhook obtenue précédemment'
embeds       = [
                   {
                       'description': 'page google',
                       'color': 15146762,
                       'image': {
                           'url': 'URL de l'image'
                       }
                    }
               ]
main_content = {
                   'username': 'Nom',
                   'avatar_url': 'URL de l'image',
                   'content': 'texte',
                   'embeds': embeds
               }
headers      = {'Content-Type': 'application/json'}

response     = requests.post(webhook_url, json.dumps(main_content), headers=headers)

Ça ressemble à ça.

** Définissez la couleur de la barre verticale de gauche avec ** color ** dans ** ʻembeds` ** **. La correspondance entre les nombres et les couleurs est ici. Déplacez la barre "Color Mixer" pour trouver la couleur que vous souhaitez afficher et donnez-lui le numéro à droite de "Decimal:".  SS 2020-07-12 21.27.14.png

Faites-en une fonction et réutilisez-la

Par exemple, cela ressemble à ceci. Lors de l'envoi uniquement de texte, ne donnez que les arguments "channel" et "content". Si vous souhaitez utiliser l'incorporation, donnez les informations requises avec ʻemb`.

emb = {
          'description': 'Texte incorporé',
          'color': 'Couleur',
          'img_url': 'URL de l'image',
          'content': 'Texte'
      }
def send_discord_msg(channel, content, emb=0):
    webhook_dic     = {'channel 1': 'URL du webhook pour le canal 1', 
                       'channel 2': 'URL du webhook pour le canal 2'}
    webhook_url     = webhook_dic[channel]

    main_content    = {
        'username': 'nom du bot',
        'avatar_url': 'URL de l'icône',
        'content': content
    }

    if emb != 0:
        color_dic = {
            'Couleur 1': 15146762,
            'Couleur 2': 49356,
        }
        embeds = [
            {
                'description': emb['description'],
                "color": color_dic[emb['color']],
                "image": {
                    "url": emb['img_url']
                },
            }
        ]
        main_content.update({'embeds': embeds})
        main_content['content'] = emb['content']

    headers = {'Content-Type': 'application/json'}
    try:
        res = requests.post(webhook_url, json.dumps(main_content), headers=headers)
    except Exception as e:
        print(e)

Recommended Posts

Créez un bot discord qui notifie unilatéralement avec python (seuls les requêtes et json sont utilisés)
Créez un bot qui ne renvoie que le résultat de l'analyse morphologique avec MeCab avec Discord
[LINE Messaging API] Créez un BOT qui se connecte à quelqu'un avec Python
Créez un BOT qui peut appeler des images enregistrées avec Discord comme des pictogrammes
Créer un LINE BOT avec Minette pour Python
Créer une page qui se charge indéfiniment avec python
Étapes pour créer un bot Twitter avec Python
[Python] Utiliser JSON avec Python
Si vous voulez créer un bot discord avec python, utilisons un framework
J'ai essayé de faire LINE BOT avec Python et Heroku
Un modèle personnellement utilisé pour créer Discord BOT en Python (Notes)
Créer un répertoire avec python
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Créons un script qui s'enregistre avec Ideone.com en Python.
Créons un diagramme PRML avec Python, Numpy et matplotlib.
Utilisez une macro qui s'exécute lors de l'enregistrement de python avec vscode
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
Créez le code qui renvoie "A et prétendant B" en python
Tornado - Créons une API Web qui renvoie facilement JSON avec JSON
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
[Python / Django] Créer une API Web qui répond au format JSON
Créez une illusion rayée avec correction gamma pour Python3 et openCV3
Créez un environnement virtuel avec Python!
Encodage et décodage JSON avec python
[AWS] Créez un environnement Python Lambda avec CodeStar et faites Hello World
Créez un Discord Bot qui peut rechercher et coller des images
J'ai créé un bot Discord en Python qui se traduit quand il réagit
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Créez un environnement Python 3 avec pyenv sur Mac et affichez des graphiques Network X
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
J'ai écrit un bot Slack qui notifie les informations de retard avec AWS Lambda
[Python] Un programme qui crée des escaliers avec #
Créez une image factice avec Python + PIL.
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Utilisez PIL ou Pillow avec Cygwin Python
Créer et décrypter du code César avec python
[Python] [LINE Bot] Créer un robot LINE de retour de perroquet
Lire et écrire des fichiers JSON avec Python
Créer un compteur de fréquence de mots avec Python 3.4
[Python] Créez un LineBot qui s'exécute régulièrement
Un monde typé qui commence par Python
Créez un bot qui stimule les tendances Twitter
Faisons un bot Twitter avec Python!
Utiliser Python et MeCab avec Azure Functions
Créez une application qui saisit, affiche et supprime des formulaires à l'aide de Python / Flask au lieu de DB.
Nombre de mots qui ne compte que les mots commençant par une majuscule en python
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
Créons un système de réception simple avec le framework sans serveur Python Chalice et Twilio
[Python] J'ai créé un LINE Bot qui détecte les visages et effectue le traitement de la mosaïque.
[Python] Comment créer un environnement de serveur Web local avec SimpleHTTPServer et CGIHTTPServer
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
Discord bot raspberry pi zéro avec python [Note]
Créer un bot Twitter Trend avec heroku + Python
Créez une application qui devine les étudiants avec Python
Construire un environnement python avec virtualenv et direnv
Lire JSON avec Python et générer un CSV