Dieser Artikel wurde mit der Hoffnung geschrieben, dass ich einen in Python erstellten Discord Bot problemlos teilen kann. Ich werde nicht zu sehr ins Detail gehen, aber ich hoffe, es hilft jemandem.
Sie können Linux von Discord aus bedienen Sie können grundsätzlich alles verwenden, z. B. den Befehl "ls" oder den Befehl "less". Sie können jedoch nichts verwenden, was der Benutzer zusätzlich eingibt, wie z. B. vim oder sudo (es scheint möglich, wenn Sie Code hinzufügen). Discord hat ein Limit von 2.000 Zeichen, sodass Sie nichts mehr senden können. Da die Fehlerverarbeitung nicht durchgeführt wird, fliegt der Bot beim Versuch, vim usw. zu öffnen.
Debian 10 Python 3.7.3
import subprocess
#Installierte Zwietracht.Laden Sie py
import discord
#Ersetzen Sie durch den Zugriffstoken Ihres Bots
TOKEN = 'Bot-Token'
#Generieren Sie die für die Verbindung benötigten Objekte
client = discord.Client()
#Verarbeitung, die beim Start ausgeführt wird
@client.event
async def on_ready():
#Nach dem Start wird im Terminal eine Anmeldemeldung angezeigt
print('Sie sind jetzt angemeldet')
async def job(message):
await message.channel.send('Lass uns bald ins Bett gehen!')
#Verarbeitung, die beim Empfang einer Nachricht ausgeführt wird
@client.event
async def on_message(message):
#Ignorieren Sie, wenn der Absender der Nachricht Bot ist
if message.author.bot:
return
# 「/Verarbeitung, die "Nyan" zurückgibt, wenn Sie "neko" sagen
if message.content == '/neko':
await message.channel.send('Nyan')
if message.content == '/konn':
await message.channel.send("Hallo")
if message.author.id ==Discord Benutzer-ID:
messStr = str(message.content)#Nachricht des Benutzers abrufen
messList = messStr.split(" ")#Ordnen Sie Benutzernachrichten durch Leerzeichen getrennt an
res = subprocess.check_output(messList)#Führen Sie diesen Befehl aus und weisen Sie die Ausgabe res zu
res = res.decode("utf-8")#utf res-Mit 8 dekodieren
await message.channel.send(res)#Nachricht senden
else:
await message.channel.send("Nicht genehmigt")
client.run(TOKEN)
Sie können die Benutzer-ID überprüfen, die unterwegs auf Discord veröffentlicht wurde. Die ID wird verwendet, um zu bestimmen, ob der Benutzer den Befehl ausführen kann.
Aktivieren Sie Benutzereinstellungen → Themen → Entwicklermodus Sie können dann mit der rechten Maustaste auf den Discord-Benutzer klicken und die ID unter Kopieren durchsuchen.
Recommended Posts