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
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 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.
Daten !!!!
Eigentlich wurde es etwas mehr ausgegeben, aber es konnte aufgrund der Aufnahmegröße nicht passen. Bitte beachten Sie.
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