[PYTHON] Erstellen Sie einen BOT, der die Anzahl der infizierten Personen in der neuen Corona anzeigt

Was diesmal zu machen

Ultimative exzellente Leute

Karte der Anzahl der Personen, die von der Präfektur mit dem neuen Koronavirus infiziert wurden https://gis.jag-japan.com/covid19jp/

Ich habe eine Site namens aufgerufen, bin aber nicht so begeistert. Deshalb habe ich beschlossen, einen BOT zu erstellen, der die Aufschlüsselung der Anzahl der infizierten Personen anzeigt.

Die Daten über die Anzahl der infizierten Personen wurden in die JSON-Datei auf derselben Site gestellt, daher werde ich sie verwenden.

https://services6.arcgis.com/5jNaHNYe2AnnqRnS/arcgis/rest/services/COVID19_Japan/FeatureServer/0/query?where=%E9%80%9A%E3%81%97%3E0&returnIdsOnly=false&returnCountOnly=false&&f=pgeojson&outFields=*&orderByFields=%E9%80%9A%E3%81%97

Umgebung

Vorbereitungen

Die folgenden Websites sind für das Erstellen und die Grundlagen von Discord BOT mit discord.py leicht verständlich.

Wie erstelle ich einen einfachen Discord Bot mit Python? https://qiita.com/PinappleHunter/items/af4ccdbb04727437477f Discord Bot schnellstes Tutorial [Python & Heroku & GitHub] https://qiita.com/1ntegrale9/items/aa4b373e8895273875a8

Erstellen

Erstellen Sie zunächst ein Programm zum Herunterladen der obigen JSON-Datei. Sie können es einfach mit ** urllib ** herunterladen.

download.py


import urllib.request

def download():
    url = 'https://services6.arcgis.com/5jNaHNYe2AnnqRnS/arcgis/rest/services/COVID19_Japan/FeatureServer/0/query?where=%E9%80%9A%E3%81%97%3E0&returnIdsOnly=false&returnCountOnly=false&&f=pgeojson&outFields=*&orderByFields=%E9%80%9A%E3%81%97'
    title = 'COVID-19_data.json'
    urllib.request.urlretrieve(url, "{0}".format(title))

Als nächstes machen Sie den BOT-Körper.

main.py


import download
import json
from collections import defaultdict
import discord

TOKEN = 'Beliebiger Token'
CHANNEK_ID = 'Beliebige Kanal-ID'
client = discord.Client()

#Wird beim Start angezeigt
@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

#Wenn Sie die Nachricht erhalten
@client.event
async def on_message(message):
    #Nachrichten vom Bot ignorieren
    if message.author.bot:
        return
    if message.content.startswith("!count"):
        #Laden Sie die JSON-Datei
        download.download()
        json_open = open('COVID-19_data.json', 'r', encoding="utf-8_sig")
        json_load = json.load(json_open)
        jsn = json_load
        
        #Behalten Sie den Namen und die Anzahl der Präfekturen des Wohnsitzes in defaultdict
        properties = defaultdict(int)
        for f in jsn['features']:
            property = f['properties']['Präfektur des Wohnsitzes']
            if property == 'Volksrepublik China' or property == 'Nachforschungen anstellen' or property == 'Unbekannt':
                continue
            if property not in properties:
                properties[property] = 0
            properties[property] += 1
        #Die zeilenweise Ausgabe dauert einige Zeit. Halten Sie daher den Ausgabeinhalt im Voraus bereit
        say = ''
        for p in properties:
            say += p + ' ' + str(properties[p]) + '\n'
        await message.channel.send(say)

client.run(TOKEN)

Das obige ist das BOT-Programm, das die Anzahl der mit dem neuen Koronavirus infizierten Personen in jeder Präfektur anzeigt.

Ergebnis

Daten !!!! covid bot.PNG

Eigentlich wurde es etwas mehr ausgegeben, aber es konnte aufgrund der Aufnahmegröße nicht passen. Bitte beachten Sie.

abschließend

Es ist eine grobe Idee, daher kann es Orte geben, an denen Sie Fehler machen und klug sein können. In diesem Fall würde ich es begrüßen, wenn Sie darauf hinweisen könnten. Die Gewalt des neuen Koronavirus ist immer noch nicht aufzuhalten. Bitte seien Sie vorsichtig.

Twitter https://twitter.com/hasegawa2718

Recommended Posts

Erstellen Sie einen BOT, der die Anzahl der infizierten Personen in der neuen Corona anzeigt
Erstellen Sie einen Bot, der die Anzahl der Personen, die für das neue Corona-Virus in Tokio positiv sind, an Slack sendet
Ich habe versucht, die Anzahl der im Inland infizierten Menschen der neuen Korona mit einem mathematischen Modell vorherzusagen
Ein Server, der mit Flasche.py und OpenCV die Anzahl der Personen vor der Kamera zurückgibt
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
Finden Sie die Anzahl der Tage in einem Monat
[Python] Ein Programm, das die Anzahl der Täler zählt
Erstellen Sie einen BOT, der die Discord-URL verkürzt
Sagen Sie die Anzahl der mit COVID-19 infizierten Personen mit Prophet voraus
[Python] Ein Programm, das die kürzeste Anzahl von Schritten in einem Spiel findet, das Wolken überquert
Veröffentlichte die Anzahl der neuen Corona-Positiven in Tokio an Slack (auf Heroku bereitgestellt)
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
Erstellen Sie eine neue Liste, indem Sie doppelte Elemente in der Liste kombinieren
Erstellen Sie mit MeCab mit Discord einen Bot, der nur das Ergebnis der morphologischen Analyse zurückgibt
[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
Erstellen Sie mit Django einen LINE-Bot
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Ich habe einen schlaffen Bot gemacht, der mich über die Temperatur informiert
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Programmiersprache, die junge Menschen in Zukunft brauchen werden
Eine Geschichte, die bestätigte, ob die Zahl der Coronas bei jungen Menschen wirklich schnell zunimmt
[Python] Ein Programm, das die Anzahl der Schokoladensegmente berechnet, die die Bedingungen erfüllen
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
Überprüfen Sie die speicherinterne Byte-Zeichenfolge der Gleitkommazahl in Python
In Anbetracht der Situation in Japan durch den Statistiker Nate Silver: "Die Anzahl der mit Coronavirus infizierten Personen ist bedeutungslos."
Erstellen Sie ein neues Diktat, das Diktate kombiniert
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
Erstellen Sie einen Bot, der Twitter-Trends verstärkt
Eine Geschichte über das Erstellen eines Programms, mit dem die Anzahl der Instagram-Follower in einer Woche von 0 auf 700 erhöht wird
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Menschen in Japan nach der Methode des neuesten Papiers in China vorherzusagen
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Personen unter Berücksichtigung der Auswirkung des Verzichts auf das Ausgehen vorherzusagen
Erstellen Sie eine einfache App, die die Fetch-API für Ajax-Anforderungen in Flask enthält, und erklären Sie sie schnell.
Sammlung von Numpy, Pandas Tipps, die häufig auf dem Feld verwendet werden
Überprüfen Sie mit einem Test, wie oft die Abfrage (SQL) in Django ausgelöst wurde
[Django] Erstellen Sie ein Formular, das automatisch die Adresse aus der Postleitzahl ausfüllt
[Python] Ein Programm, das die Anzahl der Aktualisierungen der höchsten und niedrigsten Datensätze berechnet
[Bot dekodieren] Ich habe versucht, einen Bot zu erstellen, der mir den Rassenwert von Pokemon angibt
Die Geschichte, einen Line Bot zu erstellen, der uns den Zeitplan für die Wettbewerbsprogrammierung erzählt
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Ausgabe in Form eines Python-Arrays
Diejenige, die den Fortschrittsbalken in Python anzeigt
Bis Sie eine neue App in Django erstellen
Ein Shell-Programm, das eine Fibonacci-Sequenz anzeigt
Ein Python-Skript, das die Anzahl der Jobs für eine bestimmte Bedingung von Indeed.com abruft
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Ein Hinweis, der einen Job in Python implementiert, der eine GCS-Datei in BigQuery lädt
Ein Skript, das Stresstests entsprechend der Anzahl der CPU-Kerne durchführen kann
Ich habe versucht, die neuen mit dem Corona-Virus infizierten Menschen in Ichikawa City, Präfektur Chiba, zusammenzufassen
Ermitteln Sie die maximale Anzahl von Zeichen in mehrzeiligem Text, die in einem Datenrahmen gespeichert sind
Lassen Sie uns eine Rangfolge der Anzahl der wirksamen Reproduktionen des neuen Koronavirus nach Präfektur erstellen
[Python] Darstellung der Anzahl der Beschwerden von Lebensversicherungsunternehmen in einem Balkendiagramm
Es scheint, dass eine neue Lotterie mit einer Gesamtpunktzahl in der Sportlotterie beginnen wird.