Wenn es darum geht, Zwietracht-Bots mit Python zu erstellen, scheint es ungefähr zwei Arten zu geben.
--Typ, der interaktiv funktioniert ――Es scheint praktisch zu sein, eine Bibliothek namens discord.py zu verwenden. In diesem Artikel nicht behandelt.
Für jeden Kanal ist eine Erfassung erforderlich. Sie können auf dieser Seite auf "Webhook-URL abrufen" verweisen. Optionseinstellungen können mit Code vorgenommen werden, sodass Sie ihn übergeben können.
Die einfachste Konfiguration ist wie folgt.
import requests, json
webhook_url = 'Webhook-URL früher erhalten'
main_content = {'content': 'Zu sendender Text'}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
Erfolgreiche Übertragung!
Das Aussehen des Bots kann im Code wie folgt definiert werden: Es scheint, dass die URL des Bildes erforderlich ist, um das Symbol festzulegen. Unten wird die URL des Twitter-Kontosymbols angegeben. Gibt es bei einer lokalen Bilddatei keine andere Wahl, als sie beim Abrufen der Webhook-URL festzulegen?
import requests, json
webhook_url = 'Webhook-URL früher erhalten'
main_content = {
'username': 'Name',
'avatar_url': 'Bild URL',
'content': 'Text'
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
Erfolgreiche Übertragung!
Verwenden Sie Einbettungen. Weitere Informationen finden Sie hier (https://birdie0.github.io/discord-webhooks-guide/structure/embeds.html). Ein Beispiel ist unten angegeben.
import requests, json
webhook_url = 'Webhook-URL früher erhalten'
embeds = [
{
'description': 'Google-Seite',
'color': 15146762,
'image': {
'url': 'Bild URL'
}
}
]
main_content = {
'username': 'Name',
'avatar_url': 'Bild URL',
'content': 'Text',
'embeds': embeds
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
Es sieht aus wie das.
** Stellen Sie die Farbe des linken vertikalen Balkens mit ** Farbe
** in ** Einbettungen
** ** ein.
Die Entsprechung zwischen Zahlen und Farben ist hier. Bewegen Sie die Leiste "Farbmischer", um die Farbe zu finden, die Sie anzeigen möchten, und geben Sie die Zahl rechts von "Dezimal:" ein.
Zum Beispiel sieht es so aus. Wenn Sie nur Text senden, geben Sie nur die Argumente "Kanal" und "Inhalt" an. Wenn Sie die Einbettung verwenden möchten, geben Sie die erforderlichen Informationen mit "emb" ein.
emb = {
'description': 'Eingebetteter Text',
'color': 'Farbe',
'img_url': 'Bild URL',
'content': 'Text'
}
def send_discord_msg(channel, content, emb=0):
webhook_dic = {'channel 1': 'Webhook-URL für Kanal 1',
'channel 2': 'Webhook-URL für Kanal 2'}
webhook_url = webhook_dic[channel]
main_content = {
'username': 'Bot Name',
'avatar_url': 'Symbol URL',
'content': content
}
if emb != 0:
color_dic = {
'Farbe 1': 15146762,
'Farbe 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