[PYTHON] Créez un robot de notification de pluie pour Hangouts Chat à une vitesse explosive

Lisez @ murs313 Créer un robot de notification de pluie Slack à une vitesse explosive [Me ●●] Je voulais faire la même chose immédiatement, mais nous ne pouvions pas utiliser Slack.

C'est pourquoi j'ai créé un robot de notification de pluie ** version Hangouts Chat **. GAS est trop ennuyeux à imiter, alors je l'ai implémenté avec Python et cron.

Ce que j'ai fait

Voici ce que j'ai envoyé dans le test. En fait, il est configuré pour être envoyé à 17h00 en même temps. IMG_0068.jpg Hangouts Chat devrait pouvoir utiliser la notation de type Markdown. (Bien que la mise en évidence ne soit pas bonne dans l'image ...)

Ce qui a été utilisé

PUBLIER sur Hangouts Chat

Hangouts Chat peut utiliser des webhooks entrants. J'ai fait référence à [[Super Easy] Publier facilement un message depuis l'API à l'aide des webhooks entrants de Hangouts Chat] de @ iitenkida7 (https://qiita.com/iitenkida7/items/3c8f9f8f6ee1e809558d).

Code source Python

weather.py


import requests

weather_url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010' # Tokyo
resp = requests.get(weather_url)
data = resp.json()

#C'est partiellement flou, mais vous pouvez le copier.
webhook_url = "https://chat.googleapis.com/v1/spaces/HOGEHOGE/messages?key={YOUR_KEY}&token={YOUR_TOKEN}" 

tomorrow_weather = data['forecasts'][1]
telop = tomorrow_weather['telop']
max_temp = tomorrow_weather['temperature']['max']
min_temp = tomorrow_weather['temperature']['min']
image = tomorrow_weather['image']['url']

text = ''
text += 'La météo de demain'
text += '*' + telop + '*'
text += 'est.\n'
#Parfois, max et min ne peuvent pas être obtenus pour une raison quelconque
if max_temp is not None:
    text += 'Température la plus élevée'
    text += max_temp.get('celsius')
    text += '℃'
if min_temp is not None:
    text += '/Température la plus basse'
    text += min_temp.get('celsius')
    text += '℃\n'
text += image

content = {"text": text}
response = requests.post(webhook_url, json=content)

paramètres cron

Vous pouvez vous référer à ici pour les paramètres cron.

Appuyez sur `` crontab -e '' pour configurer cron.

$ crontab -e

Ensuite, Vim ouvrira le fichier de configuration, entrez donc l'heure à exécuter et la commande à exécuter. Cette fois, il est configuré pour être placé directement sous le répertoire personnel.

0 17 * * * python3 ~/weather.py

Lorsque vous enregistrez le fichier et fermez Vim, si crontab: installation d'un nouveau crontab` '' s'affiche, le réglage est terminé.

Pour vérifier l'opération, ouvrez à nouveau `` crontab -e '' et ouvrez-le.

*/1 * * * * python3 ~/weather.py

Si vous écrivez comme, la commande sera exécutée toutes les minutes.

Impressions

Les liens auxquels j'ai fait référence étaient faciles à comprendre, j'ai donc pu les définir sans aucun colmatage. Maintenant, je n'oublie pas de ramener mon ordinateur à la maison la veille du jour de pluie.

...... Eh bien, l'autre jour, nous avons entendu dire que la télécommande est interdite.

Recommended Posts

Créez un robot de notification de pluie pour Hangouts Chat à une vitesse explosive
Créer un LINE BOT (chat)
[TPU] [Transformers] Faites du BERT à une vitesse explosive
Modèle Python qui effectue une analyse des journaux à une vitesse explosive
Créer un bot pour Skype sur EC2 (CentOS)
[Pour jouer] Essayez de faire de Yuma un robot LINE (Python)
Créez un serveur Web API à une vitesse explosive en utilisant HUG
Créez facilement un environnement GCP pour Kaggle à grande vitesse
J'ai essayé de créer un bot pour annoncer un événement Wiire
Faisons un robot Discord.
Créer une boîte à Tweet pour Pepper
Comment créer un bot slack
Créez un Discord Bot qui peut rechercher et coller des images