[PYTHON] Ich habe mit Heroku + Flask + PostgreSQL (Heroku Postgres) einen LINE-Bot erstellt, der mir den Typ und die Stärke von Pokemon in der Garal-Region angibt.

Einführung

Wie der Titel schon sagt, habe ich einen LINE-Bot erstellt, der Ihnen Informationen über Pokemon in der Garal-Region (Schwertschild) enthält. Daher möchte ich diese kurz zusammenfassen. Unten ist ein Bildschirmbild.

image.png

system.png

Die Dateistruktur finden Sie unter [GitHub].

Unmittelbare Umwelt

Installieren Sie die erforderlichen Bibliotheken aus der folgenden Pipfile mit pipenv. Aus irgendeinem Grund kann "psycopg2" nicht normal installiert werden, daher habe ich "psycopg2-binary" eingefügt. (Die Ursache für diesen Bereich ist unbekannt.)

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
flask = "==1.1.2"
line-bot-sdk = "==1.16.0"
sqlalchemy = "==1.3.17"
psycopg2-binary = "==2.8.5"

[requires]
python_version = "3.8"

Einstellungen auf der Seite der LINE-API

(Dies ist nach der Arbeit mit Heroku notwendig)

Einstellungen auf der Heroku-Seite

$ brew install heroku
$ brew install postgresql
$ heroku login
$ heroku config:set LINE_CHANNEL_ACCESS_TOKEN="***********" --app {App Name}
$ heroku config:set LINE_CHANNEL_SECRET="***********" --app {App Name}

Vorbereitung von PostgreSQL

--Erstelle eine leere Datenbank, während du bei heroku angemeldet bist. --Verbinden Sie sich vom Terminal aus mit der DB.

$ heroku addons:create heroku-postgresql:hobby-dev -a {App Name}
$ heroku pg:psql -a {App Name}

#Verbindung starten, Tabelle erstellen
app-name::DATABASE=> alter database {Name der Datenbank} set timezone = 'Asia/Tokyo';
app-name::DATABASE=> create table pokemon_status(
app-name::DATABASE=> id integer not null,
...
...
app-name::DATABASE=> type2 text,
app-name::DATABASE=> primary key (id));

#Kopieren Sie die lokale CSV in die Datenbank
\copy pokemon_status from '{Dateiname}' with csv header;

Ich denke, es ist so registriert. スクリーンショット 2020-06-13 12.44.55.png

Verschiedene Dateien

runtime.txt Listen Sie die Python-Version auf.

python-3.8.1

requirements.txt Beschreibt die auf der Serverseite erforderlichen Bibliotheken.

Flask==1.1.2
line-bot-sdk==1.16.0
psycopg2==2.8.5

Procfile Dies ist eine von Heroku benötigte Datei, die beschreibt, wie das Programm ausgeführt wird.

web: python main.py

Die Hauptdatei wird etwas lang sein, siehe [GitHub].

abschließend

PS5 Spaß! !!

Recommended Posts

Ich habe mit Heroku + Flask + PostgreSQL (Heroku Postgres) einen LINE-Bot erstellt, der mir den Typ und die Stärke von Pokemon in der Garal-Region angibt.
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
[Bot dekodieren] Ich habe versucht, einen Bot zu erstellen, der mir den Rassenwert von Pokemon angibt
Ich habe einen schlaffen Bot gemacht, der mich über die Temperatur informiert
Ich habe einen Linienbot erstellt, der das Geschlecht und das Alter einer Person anhand des Bildes errät
[Python] Ich habe einen Bot erstellt, der mir die aktuelle Temperatur anzeigt, wenn ich einen Ortsnamen in LINE eingebe
Ich habe eine Twitter-App erstellt, die die Zeichen der Vorverbindung mit Heroku entschlüsselt (Fehler).
Ich möchte einen Slack-Bot, der das Gehalt eines Teilzeitjobs aus dem Zeitplan von Google Kalender berechnet und anzeigt!
Ich habe mit Python, Flask und Heroku ein Nyanko-Tweet-Formular erstellt
Ich habe einen Fehler beim Abrufen der Hierarchie mit MultiIndex von Pandas gemacht
Da ich zu verschiedenen Zeiten anfing zu arbeiten, machte ich einen Bot, der mir die Zeit sagt, die Arbeit zu verlassen
Ich habe einen Stempelersatzbot mit Linie gemacht
Ich habe einen LINE BOT erstellt, der mithilfe der Flickr-API ein Bild von Reis-Terroristen zurückgibt
Mit LINEBot habe ich eine Anwendung erstellt, die mich über die "Buszeit" informiert.
[Python] Ich habe einen LINE-Bot erstellt, der Gesichter erkennt und Mosaikverarbeitungen durchführt.
Ich habe einen LINE Bot mit Serverless Framework erstellt!
In Python habe ich einen LINE-Bot erstellt, der Polleninformationen aus Standortinformationen sendet.
Mattermost Bot mit Python gemacht (+ Flask)
Ich habe mit Raspberry Pi ein System erstellt, das regelmäßig den Unbehaglichkeitsindex des Raums misst und eine LINE-Benachrichtigung sendet, wenn es sich um einen gefährlichen Wert handelt
Erstellt eine Web-App, die IT-Ereignisinformationen mit Vue und Flask abbildet
Ich habe mit LINE Bot ein Haushaltsbuch für Bot erstellt
Ich mag es nicht, mit der Veröffentlichung von Pokemon Go frustriert zu sein, deshalb habe ich ein Skript erstellt, um die Veröffentlichung zu erkennen und zu twittern
Ein Server, der mit Flasche.py und OpenCV die Anzahl der Personen vor der Kamera zurückgibt
Bis Django etwas mit einem Linienbot zurückgibt!
[AWS] Ich habe BOT mit LINE WORKS (Implementierung) in Erinnerung gerufen.
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
[Python] Ich habe einen Line-Bot erstellt, der zufällig nach englischen Wörtern fragt
Ich habe ein Programm erstellt, das die Fehlersuche in Sekunden löst
Ich habe einen Twitter-Bot erstellt, der das von #PokemonGO gefangene Pokemon murmelt
Ich habe ein Programm erstellt, das den Tierkreis mit tkinter automatisch berechnet
Ich habe einen Musik-Bot mit discord.py und der Google Drive-API erstellt (getestet mit Docker → bereitgestellt für Heroku).
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Ich habe einen Kalender erstellt, der den Verteilungsplan von Vtuber automatisch aktualisiert
Ich habe in Python einen Discord-Bot erstellt, der übersetzt, wenn er reagiert
Ich habe GAN mit Keras gemacht, also habe ich ein Video des Lernprozesses gemacht.
Darstellung von Containern in einem verschachtelten Rahmen (schematisch) in Jupyter und was ich bei der Erstellung untersucht habe
[Python] Ich habe einen Web-Scraping-Code erstellt, der automatisch den Nachrichtentitel und die URL von Nihon Keizai Shimbun erfasst.
Ich habe in Python ein Programm erstellt, das FX-CSV-Daten liest und eine große Anzahl von Diagrammbildern erstellt
Erstellen Sie eine einfache App, die die Fetch-API für Ajax-Anforderungen in Flask enthält, und erklären Sie sie schnell.
Erstellt einen Slack-Bot, der AWS Lambda über das Ablaufdatum eines SSL-Zertifikats bestätigt und benachrichtigt
Ich habe einen Zeilenbot erstellt, der Python verwendet, um ungelesene E-Mails aus Google Mail abzurufen!
Ich habe einen LINE-Bot erstellt, der jeden Tag pünktlich empfohlene Bilder sendet
Ich habe einen Appdo-Befehl erstellt, um Befehle im Kontext der App auszuführen
Ich habe einen SlackBot erstellt, der mich jede Woche über Informationen zum AtCoder-Wettbewerb informiert
Ich habe einen Linebot erstellt, der mich über nahegelegene Evakuierungsstellen auf AWS informiert
Erstellen Sie einen BOT, der die Anzahl der infizierten Personen in der neuen Corona anzeigt
Ich habe den gleitenden Durchschnitt des IIR-Filtertyps mit Pandas und Scipy verglichen
[Für Anfänger] Ich habe mit Raspberry Pi einen menschlichen Sensor erstellt und LINE benachrichtigt!