[PYTHON] J'ai essayé d'utiliser Linux avec Discord Bot

en premier

Cet article a été écrit dans l'espoir de pouvoir partager facilement un Discord Bot en Python. Je n'entrerai pas trop dans les détails, mais j'espère que cela aidera quelqu'un.

Que pouvez-vous faire avec ce bot

Vous pouvez utiliser Linux à partir de Discord Vous pouvez utiliser pratiquement n'importe quoi, comme la commande "ls" ou la commande "less". Cependant, vous ne pouvez pas utiliser quoi que ce soit que l'utilisateur saisisse en plus, comme vim ou sudo (cela semble possible si vous ajoutez du code). Discord a une limite de 2000 caractères, vous ne pouvez donc rien envoyer de plus. De plus, comme le traitement des erreurs n'est pas effectué, le bot volera en essayant d'ouvrir vim, etc.

Environnement d'exécution

Debian 10 Python 3.7.3

code


import subprocess

#Discord installé.Charger py
import discord

#Remplacez par le jeton d'accès de votre bot
TOKEN = 'Jeton de robot'

#Générer les objets nécessaires à la connexion
client = discord.Client()

#Traitement qui fonctionne au démarrage
@client.event
async def on_ready():
    #Une notification de connexion sera affichée dans le terminal après le démarrage
    print('Vous êtes maintenant connecté')

async def job(message):
    await message.channel.send('Allons nous coucher bientôt!')

#Traitement qui fonctionne lors de la réception d'un message
@client.event
async def on_message(message):
    #Ignorer si l'expéditeur du message est Bot
    if message.author.bot:
        return
    # 「/Traitement qui renvoie "Nyan" lorsque vous dites "neko"

    if message.content == '/neko':
        await message.channel.send('Nyan')

    if message.content == '/konn':
        await message.channel.send("Bonjour")

    if message.author.id ==ID utilisateur Discord:
        messStr = str(message.content)#Obtenir le message de l'utilisateur
        messList = messStr.split(" ")#Organiser les messages utilisateur séparés par des espaces

        res = subprocess.check_output(messList)#Exécutez cette commande et affectez la sortie à res
        res = res.decode("utf-8")#utf res-Décoder à 8
        await message.channel.send(res)#Envoyer le message
    else:
        await message.channel.send("Pas autorisé")

client.run(TOKEN)

À propos de l'ID utilisateur

Vous pouvez vérifier l'ID utilisateur qui est sorti en cours de route sur Discord. L'ID est utilisé pour déterminer si l'utilisateur peut exécuter la commande.

Comment afficher l'ID

Activez les préférences utilisateur → Thèmes → Mode développeur Vous pouvez ensuite cliquer avec le bouton droit sur l'utilisateur Discord et parcourir l'ID à partir de Copier.

Recommended Posts

J'ai essayé d'utiliser Linux avec Discord Bot
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de réintroduire Linux
Comment faire fonctionner l'API Discord avec Python (enregistrement de bot)
J'ai essayé de combiner Discord Bot et la reconnaissance faciale-pour LT-
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de commencer avec Hy
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai essayé de résoudre TSP avec QAOA
J'ai essayé de prédire l'année prochaine avec l'IA
J'ai essayé d'implémenter la lecture de Dataset avec PyTorch
J'ai essayé d'utiliser lightGBM, xg boost avec Boruta
J'ai essayé d'apprendre le fonctionnement logique avec TF Learn
J'ai essayé de déplacer GAN (mnist) avec keras
J'ai essayé de détecter rapidement un mouvement avec OpenCV
J'ai essayé d'intégrer Keras dans TFv1.1
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de déboguer.
J'ai essayé de détecter un objet avec M2Det!
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé de prédire la survie du Titanic avec PyCaret
J'ai essayé d'étudier DP avec séquence de Fibonacci
J'ai essayé de démarrer Jupyter avec toutes les lumières d'Amazon
J'ai essayé de juger Tundele avec Naive Bays
J'ai essayé de créer un BOT de traduction qui fonctionne avec Discord en utilisant googletrans
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de déplacer l'apprentissage automatique (détection d'objet) avec TouchDesigner
J'ai essayé d'extraire des fonctionnalités avec SIFT d'OpenCV
J'ai essayé de déplacer Faster R-CNN rapidement avec pytorch
J'ai essayé d'implémenter et d'apprendre DCGAN avec PyTorch
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2
J'ai essayé de démarrer avec le script python de blender_Partie 02
J'ai essayé de générer ObjectId (clé primaire) avec pymongo
J'ai essayé d'implémenter le perceptron artificiel avec python
J'ai essayé d'ajouter des appels système et des planificateurs à Linux
J'ai essayé de créer un pipeline ML avec Cloud Composer
J'ai essayé de découvrir notre obscurité avec l'API Chatwork
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé d'implémenter Grad-CAM avec keras et tensorflow
J'ai essayé de créer une application OCR avec PySimpleGUI
J'ai essayé d'implémenter SSD avec PyTorch maintenant (Dataset)
J'ai essayé d'interpoler le masque R-CNN avec un flux optique
J'ai essayé de passer par l'optimisation bayésienne. (Avec des exemples)
J'ai essayé de trouver la classe alternative avec tensorflow
[Introduction à AWS] J'ai essayé de jouer avec la conversion voix-texte ♪
J'ai essayé de résoudre la théorie des nombres entiers d'AOJ avec Python
J'ai essayé fp-growth avec python