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.
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.
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!
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!
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:".
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