[PYTHON] Ich habe versucht, Linux mit Discord Bot zu betreiben

zunaechst

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.

Was Sie mit diesem Bot machen können

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.

Ausführungsumgebung

Debian 10 Python 3.7.3

Code


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)

Informationen zur Benutzer-ID

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.

So zeigen Sie die ID an

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

Ich habe versucht, Linux mit Discord Bot zu betreiben
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, Linux wieder einzuführen
So bedienen Sie die Discord API mit Python (Bot-Registrierung)
Ich habe versucht, Discord Bot und Gesichtserkennung für LT zu kombinieren.
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, CVAE mit PyTorch zu implementieren
Ich habe versucht, TSP mit QAOA zu lösen
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, das Lesen von Dataset mit PyTorch zu implementieren
Ich habe versucht, lightGBM, xg Boost mit Boruta zu verwenden
Ich habe versucht, mit TF Learn die logische Operation zu lernen
Ich habe versucht, GAN (mnist) mit Keras zu bewegen
Ich habe versucht, mit OpenCV Bewegungen schnell zu erkennen
Ich habe versucht, Keras in TFv1.1 zu integrieren
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht zu debuggen.
Ich habe versucht, ein Objekt mit M2Det zu erkennen!
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, das Überleben der Titanic mit PyCaret vorherzusagen
Ich habe versucht, DP mit Fibonacci-Sequenz zu studieren
Ich habe versucht, Jupyter mit allen Amazon-Lichtern zu starten
Ich habe versucht, Tundele mit Naive Bays zu beurteilen
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich habe versucht, maschinelles Lernen (Objekterkennung) mit TouchDesigner zu verschieben
Ich habe versucht, Funktionen mit SIFT von OpenCV zu extrahieren
Ich habe versucht, Faster R-CNN mit Pytorch auszuführen
Ich habe versucht, DCGAN mit PyTorch zu implementieren und zu lernen
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Ich habe versucht, ObjectId (Primärschlüssel) mit Pymongo zu generieren
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich habe versucht, Linux Systemaufrufe und Scheduler hinzuzufügen
Ich habe versucht, eine ML-Pipeline mit Cloud Composer zu erstellen
Ich habe versucht, unsere Dunkelheit mit der Chatwork-API aufzudecken
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Ich habe versucht, eine OCR-App mit PySimpleGUI zu erstellen
Ich habe versucht, SSD jetzt mit PyTorch zu implementieren (Dataset)
Ich habe versucht, Mask R-CNN mit Optical Flow zu interpolieren
Ich habe versucht, die Bayes'sche Optimierung zu durchlaufen. (Mit Beispielen)
Ich habe versucht, die alternative Klasse mit Tensorflow zu finden
[Einführung in AWS] Ich habe versucht, mit der Sprach-Text-Konvertierung zu spielen ♪
Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen
Ich habe fp-Wachstum mit Python versucht