[PYTHON] Erstellen Sie einen Regenbenachrichtigungs-Bot für Hangouts Chat mit explosiver Geschwindigkeit

Lesen Sie @ murs313s Make Slacks Regenbenachrichtigungsbot mit explosiver Geschwindigkeit [Me ●●] Ich wollte sofort das Gleiche machen, aber wir konnten Slack nicht verwenden.

Deshalb habe ich ** Hangouts Chat Version ** Regenbenachrichtigungsbot gemacht. GAS ist zu langweilig, um es nachzuahmen, deshalb habe ich es mit Python und Cron implementiert.

Was ich gemacht habe

Folgendes habe ich im Test gesendet. Tatsächlich ist es so eingestellt, dass es gleichzeitig um 17:00 Uhr gesendet wird. IMG_0068.jpg Hangouts Chat sollte Markdown-ähnliche Notation verwenden können. (Obwohl die Hervorhebung im Bild nicht gut ist ...)

Was wurde verwendet

POST to Hangouts Chat

Hangouts Chat kann eingehende Webhooks verwenden. Ich bezog mich auf @ [iitenkida7s [Super Easy] Posting einer Nachricht einfach von der API mit eingehenden Webhooks von Hangouts Chat.

Python-Quellcode

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

#Es ist teilweise unscharf, aber Sie können es kopieren.
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 += 'Das Wetter von morgen'
text += '*' + telop + '*'
text += 'ist.\n'
#Manchmal können Max und Min aus irgendeinem Grund nicht erhalten werden
if max_temp is not None:
    text += 'Höchste Temperatur'
    text += max_temp.get('celsius')
    text += '℃'
if min_temp is not None:
    text += '/Niedrigste Temperatur'
    text += min_temp.get('celsius')
    text += '℃\n'
text += image

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

Cron-Einstellungen

Informationen zu den Cron-Einstellungen finden Sie unter hier.

Drücken Sie `` `crontab -e```, um cron zu konfigurieren.

$ crontab -e

Anschließend öffnet Vim die Konfigurationsdatei. Geben Sie also die Ausführungszeit und den auszuführenden Befehl ein. Dieses Mal ist es so eingestellt, dass es direkt unter dem Home-Verzeichnis abgelegt wird.

0 17 * * * python3 ~/weather.py

Wenn Sie die Datei speichern und Vim schließen und `crontab: Installation eines neuen crontab `angezeigt wird, ist die Einstellung abgeschlossen.

Um den Vorgang zu überprüfen, öffnen Sie `` `crontab -e``` erneut und öffnen Sie es.

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

Wenn Sie wie schreiben, wird der Befehl jede Minute ausgeführt.

Impressionen

Die Links, die ich als Referenz verwendet habe, waren leicht zu verstehen, sodass ich sie ohne Verstopfung einstellen konnte. Jetzt vergesse ich nicht, meinen PC am Tag vor dem Regentag nach Hause zu bringen.

...... Neulich haben wir gehört, dass Fernbedienung verboten ist.

Recommended Posts

Erstellen Sie einen Regenbenachrichtigungs-Bot für Hangouts Chat mit explosiver Geschwindigkeit
Machen Sie einen LINE BOT (Chat)
[TPU] [Transformatoren] Machen Sie BERT mit explosiver Geschwindigkeit
Python-Vorlage, die eine Protokollanalyse mit explosiver Geschwindigkeit durchführt
Erstellen Sie einen Bot für Skype unter EC2 (CentOS)
[Zum Spielen] Versuche Yuma zu einem LINE Bot zu machen (Python)
Erstellen Sie mit hug einen Web-API-Server mit explosiver Geschwindigkeit
Erstellen Sie einfach eine GCP-Umgebung für Kaggle mit hoher Geschwindigkeit
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Machen wir einen Discord Bot.
Machen Sie eine Tweet-Box für Pepper
Wie man einen lockeren Bot macht
Erstellen Sie einen Discord Bot, der Bilder suchen und einfügen kann