[PYTHON] Créez un BOT qui affiche le nombre de personnes infectées dans le nouveau Corona

Que faire cette fois

Excellentes personnes ultimes

Carte du nombre de personnes infectées par le nouveau virus corona par préfecture https://gis.jag-japan.com/covid19jp/

J'ai créé un site appelé, mais je ne suis pas très enthousiaste, j'ai donc décidé de créer un BOT qui affiche la répartition du nombre de personnes infectées.

Les données du nombre de personnes infectées ont été placées dans le fichier json sur le même site, je vais donc l'utiliser.

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

environnement

Préparation préalable

Les sites suivants sont faciles à comprendre pour la création et les bases de Discord BOT en utilisant discord.py.

Comment créer un simple Discord Bot avec Python https://qiita.com/PinappleHunter/items/af4ccdbb04727437477f Tutoriel le plus rapide de Discord Bot [Python & Heroku & GitHub] https://qiita.com/1ntegrale9/items/aa4b373e8895273875a8

Créer

Tout d'abord, créez un programme pour télécharger le fichier json ci-dessus. Vous pouvez facilement le télécharger en utilisant ** urllib **.

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

Ensuite, créez le corps BOT.

main.py


import download
import json
from collections import defaultdict
import discord

TOKEN = 'Tout jeton'
CHANNEK_ID = 'Tout identifiant de chaîne'
client = discord.Client()

#Affiché au démarrage
@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

#Lorsque vous recevez le message
@client.event
async def on_message(message):
    #Ignorer les messages du bot
    if message.author.bot:
        return
    if message.content.startswith("!count"):
        #Charger le fichier json
        download.download()
        json_open = open('COVID-19_data.json', 'r', encoding="utf-8_sig")
        json_load = json.load(json_open)
        jsn = json_load
        
        #Conserver le nom et le nombre de préfectures de résidence en défaut
        properties = defaultdict(int)
        for f in jsn['features']:
            property = f['properties']['Préfecture de résidence']
            if property == 'les gens de la République de Chine' or property == 'enquêter' or property == 'inconnue':
                continue
            if property not in properties:
                properties[property] = 0
            properties[property] += 1
        #La sortie ligne par ligne prend du temps, alors gardez le contenu de sortie à l'avance
        say = ''
        for p in properties:
            say += p + ' ' + str(properties[p]) + '\n'
        await message.channel.send(say)

client.run(TOKEN)

Ce qui précède est le programme BOT qui affiche le nombre de personnes infectées par le nouveau virus corona dans chaque préfecture.

résultat

Les données !!!! covid bot.PNG

En fait, il était un peu plus sorti, mais il ne pouvait pas s'adapter en raison de la taille de la capture. Notez s'il vous plaît.

en conclusion

C'est une idée approximative, il peut donc y avoir des endroits où vous pouvez faire des erreurs et être intelligent. Dans ce cas, je vous serais reconnaissant si vous pouviez le signaler. La violence du nouveau virus corona est toujours imparable. S'il vous plaît soyez prudente.

Twitter https://twitter.com/hasegawa2718

Recommended Posts

Créez un BOT qui affiche le nombre de personnes infectées dans le nouveau Corona
Créez un bot qui publie sur Slack le nombre de personnes positives pour le nouveau virus corona à Tokyo
J'ai essayé de créer un Discord Bot sur Docker qui signale le nombre de personnes infectées par corona à Tokyo à un moment spécifié
J'ai essayé de prédire le nombre de personnes infectées au niveau national de la nouvelle corona avec un modèle mathématique
Un serveur qui renvoie le nombre de personnes devant la caméra avec bottle.py et OpenCV
L'histoire de la création d'un Bot qui affiche les membres actifs dans un canal spécifique de Slack avec Python
Trouvez le nombre de jours dans un mois
[Python] Un programme qui compte le nombre de vallées
Créez un BOT qui raccourcit l'URL Discord
Prédire le nombre de personnes infectées par COVID-19 avec Prophet
[Python] Un programme qui trouve le nombre d'étapes le plus court dans un jeu qui traverse les nuages
Publié le nombre de nouveaux positifs corona à Tokyo sur Slack (déployés sur Heroku)
Visualisons le nombre de personnes infectées par le virus corona avec matplotlib
Créer une nouvelle liste en combinant des éléments en double dans la liste
Créez un bot qui ne renvoie que le résultat de l'analyse morphologique avec MeCab avec Discord
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
Créer un bot LINE avec Django
Une fonction qui mesure le temps de traitement d'une méthode en python
J'ai fait un bot mou qui m'informe de la température
Créez une fonction pour obtenir le contenu de la base de données dans Go
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Langage de programmation dont les jeunes auront besoin à l'avenir
Une histoire qui a vérifié si le nombre de coronas augmente vraiment rapidement chez les jeunes
[Python] Un programme qui calcule le nombre de segments de chocolat qui remplissent les conditions
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Générez une liste contenant le nombre de jours du mois en cours.
Vérifions la chaîne d'octets en mémoire du nombre flottant flottant en Python
Compte tenu de la situation au Japon par le statisticien Nate Silver, "Le nombre de personnes infectées par le coronavirus n'a pas de sens"
Créer un nouveau dict qui combine des dictés
Comment créer un wrapper qui préserve la signature de la fonction à envelopper
Créez un bot qui stimule les tendances Twitter
Une histoire sur la création d'un programme qui augmentera le nombre d'abonnés Instagram de 0 à 700 en une semaine
J'ai essayé de prédire le nombre de personnes infectées par le virus corona au Japon par la méthode du dernier article en Chine
J'ai essayé de prédire le nombre de personnes infectées par le virus corona en tenant compte de l'effet de s'abstenir de sortir
Créez une application simple qui intègre l'API Fetch pour les requêtes Ajax dans Flask et expliquez-la rapidement.
Collection de conseils Numpy, Pandas souvent utilisés sur le terrain
Vérifiez le nombre de fois où la requête (sql) a été lancée dans django avec un test
[Django] Créez un formulaire qui remplit automatiquement l'adresse à partir du code postal
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles
[Discode Bot] J'ai essayé de créer un Bot qui me dit la valeur de race de Pokemon
L'histoire de la création d'un Line Bot qui nous raconte le calendrier de la programmation du concours
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Créer une nouvelle page en confluence avec Python
Sortie sous la forme d'un tableau python
Celui qui affiche la barre de progression en Python
Jusqu'à ce que vous créiez une nouvelle application dans Django
Un programme shell qui affiche une séquence de Fibonacci
Un script python qui obtient le nombre de travaux pour une condition spécifiée sur Indeed.com
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Une note qui implémente une tâche en Python qui charge un fichier GCS dans BigQuery
Un script qui peut effectuer des tests de résistance en fonction du nombre de cœurs CPU
J'ai essayé de résumer les nouvelles personnes infectées par le virus corona dans la ville d'Ichikawa, préfecture de Chiba
Découvrez le nombre maximum de caractères dans un texte multiligne stocké dans un bloc de données
Établissons un classement du nombre de reproductions efficaces du nouveau virus corona par préfecture
[Python] Représentation du nombre de plaintes des compagnies d'assurance-vie dans un graphique à barres
Il semble qu'une nouvelle loterie avec un score total commencera dans la loterie sportive,