[PYTHON] Als ich einen Discord Bot gemacht habe, haben meine Klassenkameraden meinen Computer zerstört

Der Titel ist erstaunlich, aber der Inhalt ist die Geschichte, wie man einen Discord Bot normal macht.

Der Satz dieses Problems

if not message.author.id == client.user.id:
        ms = message.content  #Beurteilung des Bildbefehls
        ms = ms[:6]  #Die Beurteilung erfolgt, indem nur die ersten sechs Zeichen aller Nachrichten ausgeschnitten werden
        if ms == "!image":
            overlap = 0
            ms = (message.content[7:])  #ms ist nur eine Nachricht(!Rasieren Sie das Bild)
            filepath1 = "./downloads"  #Um später beizutreten
            files1 = os.listdir(filepath1)  #Ich habe alle Verzeichnisnamen in Dateien eingefügt
            leng = len(files1)  #Bestimmen Sie die Länge des Array von Dateien
            i = 0

            for i in range(leng):
                if ms == files1[i]:
                    overlap = 1
                    break
                i += 1

    if overlap == 1:
        print("Ich habe ein Bild verwendet, das lokal ist, ohne zu kratzen")  #Zur Bestätigung
        filepath = './downloads/' + ms + "/"  #Wo ist die Datei?
        files = os.listdir(filepath)  #Ich habe den Namen des Inhalts der Datei in eine Variable eingefügt
        files = files[0]  #Da es in ein Array eingeht, ist es das erste von ihnen
        path1 = filepath + files  #Generieren Sie den endgültigen Pfad des Bildes
        await message.channel.send(file=discord.File(path1))  #Bild senden

    else:
        print("Ich habe geschabt, weil ich das Bild lokal nicht sehen konnte")  #Zur Bestätigung
        response = google_images_download.googleimagesdownload()  #Google Image Scraping Library
        arguments = {"keywords": ms, "limit":1,"print_urls":True}#Suchwort und Anzahl der angegebenen Blätter
        paths = response.download(arguments)  #Schaben,
        print(paths)  #Ausgabeprotokoll
        ms = (message.content[7:])
        filepath = './downloads/' + ms + "/"  #Generieren Sie den Pfad für die Datei in der Datei
        files = os.listdir(filepath)  #Ich habe den Namen des Inhalts der Datei in eine Variable eingefügt
        files = files[0]  #Da es in ein Array eingeht, ist es das erste von ihnen
        path1 = filepath + files  #Generieren Sie den endgültigen Pfad des Bildes
        print(path1)
        await message.channel.send(file=discord.File(path1))  #Bild senden

Da die vom Benutzer gesendeten Zeichen in den Pfad eingefügt werden, kann der Benutzer angeben, wo sie gespeichert werden sollen! !! !! Mein Klassenkamerad entdeckte es und der Inhalt meines Computers war durcheinander. An verschiedenen Stellen wurden nutzlose Dateien erstellt. Das Schlimmste ist, dass "..." ← Eine Datei mit diesem Namen erstellt wurde. Diese Datei, die ich nicht verstehe, scheint ein Fehler in Windows zu sein. "..." Wenn Sie diese öffnen, wird das vorherige Verzeichnis geöffnet. Wenn Sie diese Datei in Desktop haben, finden Sie beim Öffnen Desktop darin. Darüber hinaus kann die Datei auch mit der Windows-Eingabeaufforderung oder `rm ...` ... nicht normal gelöscht werden. Also habe ich es mit Cygwin gelöscht. Es war schwer zu löschen. ___ Sie sollten auf jeden Fall aufhören, solche Dienste auf Ihrem Haupt-PC auszuführen. ___ Wird ** zu den Bösen sein

Dateiorganisation

DiscordBot/  ├ discordbot.py  └ img/   ├ hare.png   ├ harekumorri.png   ├ jikoku.png   ├ kumori.png  └ downloads

Ausführungsumgebung

discord.py


import datetime
import io
import os
import time

import aiohttp
import discord
import requests
import schedule
from discord.ext import commands
from google_images_download import google_images_download
from PIL import Image, ImageDraw, ImageFont, ImageTk

#Ersetzen Sie durch den Zugriffstoken Ihres Bots
TOKEN = "Mein Zeichen"

#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')

@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':
        t_now = datetime.datetime.now().time()
        t_now = str(t_now)
        t_now = t_now[:2]
        print(t_now)
        t_now = int(t_now)
        print(type(t_now))
        print(t_now)

        if 5 <= t_now < 12:
            await message.channel.send('Guten Morgen')


        elif 12 <= t_now < 18:
            await message.channel.send('Hallo')

        elif 18 <= t_now < 24:
            await message.channel.send('Guten Abend')

        elif 0 <= t_now < 5:
            await message.channel.send('Es ist spät in der Nacht! Lass uns schlafen!')

    if message.content == 'Das Wetter von morgen':
        url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'
        api_data = requests.get(url).json()
        weather = api_data['forecasts'][1]
        result = weather["telop"]
        await message.channel.send(api_data['title'] + '\n' 'Das Wetter von morgen' + result)
        if result == "Sonnig":
            await message.channel.send(file=discord.File('./img/hare.png'))
        elif result == "Wolkig":
            await message.channel.send(file=discord.File("./img/kumori.png "))
        else:
            await message.channel.send(file=discord.File("./img/harekumori.jpg "))

    if message.content == 'das heutige Wetter':
        url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'
        api_data = requests.get(url).json()
        weather = api_data['forecasts'][0]
        result = weather["telop"]
        await message.channel.send(api_data['title'] + '\n' 'Wie ist das Wetter heute' + result)
        if result == "Sonnig":
            await message.channel.send(file=discord.File('.\\img\\hare.png'))
        elif result == "Wolkig":
            await message.channel.send(file=discord.File(".\\img\\kumori.jpg "))
        else:
            await message.channel.send(file=discord.File(".\\img\\harekumori.png "))

    if message.content == 'Streng geheimer Befehl>>Poop<<':
        await message.channel.send('https://i.gzn.jp/img/2017/10/19/golden-unko-jewelry/00_m.jpg')

   # if message.content == 'Nein, nein':
   #     ar1t = (
   #           '```(≧Д≦)' + '\n' +
 # '....................... ,,, z = ~' '+' 彡 ,, '+' \ n '+
 # '...................., i' ............ "':';:; tsu ;, '+' \ n '+
 # '................' '' '' 'Mi', .............. '', ',' + '\ n '+
 # '.........., / ....... `, Gumi .....:;:,' + '\ n' +
 # '......... / .......... = ヾ, ヾ =;, z, .......... ‥; ヾ :: ミ' + '\ n' +
 # '....... / ........, r,' ... /. '`ヽ. ヽ. ヽ` ........., 彡: Mi' + ' \ n '+
 # '..... /......,'- ,.` ヽ ..................... Mi; :: 彡 ;:' + '\ n' +
 # '...,' ....., Shi'` ヽ `i`! ................ ,, 彡; :: Shi: 彡 '+' \ n '+
 # '..; ....., ('  ̄` ヽ / '.............. Shi: Shi;: Mi :: Shi "' + '\ n' +
 # '´ :::::. ヾ .....  ̄´ ..............' `, simi '+' \ n '+
 # ':::::::::::::. `: ヽ, .................:;' _, Also '" +' \ n '+
   #           'Nahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh```')
   #     await message.channel.send(ar1t)

    if client.user in message.mentions:
        reply = f'{message.author.mention}namens?'
        await message.channel.send(reply)

    if message.content == 'Tageszeiten':

        #Bilder laden
        img = Image.open("./img/jikoku.png ")
        #Zeichnungsinstanz erstellen
        draw = ImageDraw.Draw(img)
        #Schriftarteinstellungen(Pfad der Schriftdatei und Schriftgröße)
        font = ImageFont.truetype("./fonts/BIZ-UDGothicB.ttc", 200)
        #Briefe schreiben

        dt = datetime.datetime.now()
        dt = str(dt)
        dt = (dt[11:-10])
        print(dt)

        draw.text((310, 250), dt, fill=(0, 0, 0), font=font)

        img.save("./img/jikoku1.png ")

        print("ok")

        await message.channel.send(file=discord.File(".\\img\\jikoku1.png "))

    if message.content == 'Steuererhöhung':
        await message.channel.send('https://pbs.twimg.com/media/EFUS5YlU0AIAwok?format=jpg&name=small')

    if message.content == 'kusa':
        await message.channel.send(file=discord.File('.\\img\\kusa.jpg'))

    if message.content == 'Süßes Kind':
        await message.channel.send(file=discord.File('.\\img\\1.jpg'))

    if message.content == "Wie schön":
        await message.channel.send(file=discord.File('.\\img\\good.png'))


    if not message.author.id == client.user.id:
        ms = message.content  #Beurteilung des Bildbefehls
        ms = ms[:6]  #Die Beurteilung erfolgt, indem nur die ersten sechs Zeichen aller Nachrichten ausgeschnitten werden
        if ms == "!image":
            overlap = 0
            ms = (message.content[7:])  #ms ist nur eine Nachricht(!Rasieren Sie das Bild)
            filepath1 = "./downloads"  #Um später beizutreten
            files1 = os.listdir(filepath1)  #Ich habe alle Verzeichnisnamen in Dateien eingefügt
            leng = len(files1)  #Bestimmen Sie die Länge des Array von Dateien
            i = 0

            for i in range(leng):
                if ms == files1[i]:
                    overlap = 1
                    break
                i += 1

    if overlap == 1:
        print("Ich habe ein Bild verwendet, das lokal ist, ohne zu kratzen")  #Zur Bestätigung
        filepath = './downloads/' + ms + "/"  #Wo ist die Datei?
        files = os.listdir(filepath)  #Ich habe den Namen des Inhalts der Datei in eine Variable eingefügt
        files = files[0]  #Da es in ein Array eingeht, ist es das erste von ihnen
        path1 = filepath + files  #Generieren Sie den endgültigen Pfad des Bildes
        await message.channel.send(file=discord.File(path1))  #Bild senden

    else:
        print("Ich habe geschabt, weil ich das Bild lokal nicht sehen konnte")  #Zur Bestätigung
        response = google_images_download.googleimagesdownload()  #Google Image Scraping Library
        arguments = {"keywords": ms, "limit":1,"print_urls":True}#Suchwort und Anzahl der angegebenen Blätter
        paths = response.download(arguments)  #Schaben,
        print(paths)  #Ausgabeprotokoll
        ms = (message.content[7:])
        filepath = './downloads/' + ms + "/"  #Generieren Sie den Pfad für die Datei in der Datei
        files = os.listdir(filepath)  #Ich habe den Namen des Inhalts der Datei in eine Variable eingefügt
        files = files[0]  #Da es in ein Array eingeht, ist es das erste von ihnen
        path1 = filepath + files  #Generieren Sie den endgültigen Pfad des Bildes
        print(path1)
        await message.channel.send(file=discord.File(path1))  #Bild senden

    if message.content == "Geschichte":
        files1 = os.listdir("./downloads")
        await message.chnanel.send(files1)
        print("Verlaufsbefehl")

    if message.content == "!helpC":
        await message.channel.send("nichts Besonderes")
        
#Starten Sie Bot und stellen Sie eine Verbindung zum Discord-Server her
client.run(TOKEN)

Recommended Posts

Als ich einen Discord Bot gemacht habe, haben meine Klassenkameraden meinen Computer zerstört
Ich habe einen Zwietrachtbot gemacht
Ich habe in Python einen Discord-Bot erstellt, der übersetzt, wenn er reagiert
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe einen Discord-Chat-Lesebot erstellt, indem ich das Erscheinungsbild nachgeahmt habe
Ich habe einen Stempelersatzbot mit Linie gemacht
Ich habe meinen Hund "Monaka Bot" mit Line Bot gemacht
Ich habe einen LINE Bot mit Serverless Framework erstellt!
Mattermost Bot mit Python gemacht (+ Flask)
〇✕ Ich habe ein Spiel gemacht
[AWS] Ich habe BOT mit LINE WORKS daran erinnert
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Ich habe mit LINE Bot ein Haushaltsbuch für Bot erstellt
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Eine Geschichte, die stolperte, als ich mit Transformer einen Chat-Chat-Bot erstellte
Machen wir einen Discord Bot.
Ich habe meine eigene Sprache gemacht. (1)
Ich habe einen Python-Text gemacht
Ich habe meine eigene Sprache gemacht (2)
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
[AWS] Ich habe BOT mit LINE WORKS (Implementierung) in Erinnerung gerufen.
[Python] Ich habe einen Line-Bot erstellt, der zufällig nach englischen Wörtern fragt
Ich habe einen Twitter-Bot erstellt, der das von #PokemonGO gefangene Pokemon murmelt
Ich habe einen Twitter-Bot mit Go x Qiita API x Lambda erstellt
Ich habe einen schlaffen Bot gemacht, der mich über die Temperatur informiert
Ich habe eine C ++ - Lernseite erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe meine eigene Python-Bibliothek erstellt
Ich habe mit Python eine Lotterie gemacht.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe mit Python einen Daemon erstellt
[Python] Ich habe einen Bot erstellt, der mir die aktuelle Temperatur anzeigt, wenn ich einen Ortsnamen in LINE eingebe
[C Sprache] Meine Lokomotive ist zu langsam ~ Ich habe einen Sl-Befehl gegeben ~
Ich habe einen neuen AWS S3-Eimer hergestellt
Ich habe ein Dash-Docset für Holoviews erstellt
Ich berührte "Orator" und machte mir eine Notiz
Ich habe mit Python einen Zeichenzähler erstellt
Anfänger: Ich habe einen Launcher mit dem Wörterbuch erstellt
Ich habe einen Gesprächspartner wie Siri gemacht
Ich habe mit Python eine Hex-Map erstellt
Ich habe ein Lebensspiel mit Numpy gemacht
Ich habe einen Hanko-Generator mit GAN gemacht
Ich habe ein automatisches Stempelwerkzeug für den Browser erstellt.
Nachdem ich Python3 studiert hatte, machte ich einen Slackbot
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine Bibliothek für versicherungsmathematische Versicherungen erstellt
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe mit Python einen Neuronensimulator erstellt
Ich habe einen LINE BOT erstellt, der mithilfe der Flickr-API ein Bild von Reis-Terroristen zurückgibt
Ein Memo, auf das ich gestoßen bin, als ich ein Zitat RT auf Twitter Bot gemacht habe
Ich habe einen LINE-Bot erstellt, der jeden Tag pünktlich empfohlene Bilder sendet
[Python] Ich habe einen LINE-Bot erstellt, der Gesichter erkennt und Mosaikverarbeitungen durchführt.
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
In Python habe ich einen LINE-Bot erstellt, der Polleninformationen aus Standortinformationen sendet.
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war