[PYTHON] J'ai essayé linebot avec flacon (anaconda) + heroku

introduction

Récemment, j'ai voulu faire un linebot de lance. Aussi, je voulais vraiment le faire avec python!

référence

Téléchargez le serveur développé avec flask dans l'environnement anaconda sur heroku J'ai essayé de créer LINE BOT avec Python en utilisant l'API LINE BOT

Les trois suivants sont fabriqués avec du rubis en détail par mes amis, alors jetez un œil. LINE BOT m'a donné un dépliant (1) ~ Édition de retour Omu LINE BOT m'a donné un dépliant (2) ~ édition PUSH LINE BOT m'a donné un dépliant (3) jusqu'à la fin

L'objectif de cette fois

Je veux arriver au point où je peux le retourner!

Fichier de préférences

conda-requirements.txt


# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: osx-64
flask=0.10.1=py35_1
gunicorn=19.1.0=py35_0
itsdangerous=0.24=py35_0
jinja2=2.8=py35_0
markupsafe=0.23=py35_0
openssl=1.0.2h=0
pastedeploy=1.5.2=py35_1
pip=8.1.1=py35_1
python=3.5.1=0
readline=6.2=2
setuptools=20.7.0=py35_0
sqlite=3.9.2=0
tk=8.5.18=0
werkzeug=0.11.9=py35_0
wheel=0.29.0=py35_0
xz=5.0.5=1
zlib=1.2.8=0

runtime.txt


python-3.5.1

Code source

from flask import Flask
from flask import request


import os
import requests
import json
import re



LINEBOT_API_EVENT ='https://trialbot-api.line.me/v1/events'
LINE_HEADERS = {
    'Content-type': 'application/json; charset=UTF-8',
    'X-Line-ChannelID':os.environ['CONTENT'], # Channel ID
    'X-Line-ChannelSecret':os.environ['CHANNEL'], # Channel secre
    'X-Line-Trusted-User-With-ACL':os.environ['MID'] # MID (of Channel)
}
#proxies = {'https': os.environ['PROXIES']}
proxies = {'http': os.environ.get('FIXIE_URL', ''), 'https': os.environ.get('FIXIE_URL', '')}

def post_event( to, content):
    msg = {
        'to': [to],
        'toChannel': 1383378250, # Fixed  value
        'eventType': "138311608800106203", # Fixed value
        'content': content
    }
    print(msg)
    r = requests.post(LINEBOT_API_EVENT, headers=LINE_HEADERS, data=json.dumps(msg),proxies = proxies)

def post_text( to, text ):
    content = {
        'contentType':1,
        'toType':1,
        'text':text,
    }
    post_event(to, content)

app = Flask(__name__)
@app.route("/callback", methods=['POST'])
def hello():
    msgs = request.json['result']
    for msg in msgs:
        text = msg['content']['text']
        print(text)
        post_text(msg['content']['from'],text)
        return ''
if __name__ == "__main__":
    app.run()

finalement

Avant de donner cet article, je suis allé au code de l'étape suivante, donc il peut y avoir des choses supplémentaires lorsque je retourne le code, mais je suis désolé. channelID etc. sont stockés en tant que variables d'environnement heroku.

Recommended Posts

J'ai essayé linebot avec flacon (anaconda) + heroku
J'ai essayé Flask avec des conteneurs distants de VS Code
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Touch Flask + courir avec Heroku
J'ai essayé Learning-to-Rank avec Elasticsearch!
J'ai essayé le clustering avec PyCaret
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
Mémo de travail que j'ai essayé i18n avec l'application Flask
J'ai essayé de créer LINE-bot avec Python + Flask + ngrok + LINE Messaging API
Créez un bot LINE avec Python + heroku
J'ai essayé de résumer des phrases avec summpy
J'ai essayé l'apprentissage automatique avec liblinear
J'ai essayé webScraping avec python.
Exécutez l'application avec Flask + Heroku
J'ai essayé de déplacer de la nourriture avec SinGAN
Action que mysql-connector-python ne peut pas être installé avec anaconda
J'ai essayé d'implémenter DeepPose avec PyTorch
J'ai essayé la détection de visage avec MTCNN
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la communication SMTP avec Python
J'ai essayé la génération de phrases avec GPT-2
J'ai essayé d'apprendre LightGBM avec Yellowbrick
J'ai essayé la reconnaissance faciale avec OpenCV
J'ai créé un formulaire de tweet Nyanko avec Python, Flask et Heroku
J'étais intéressé par les diagrammes alors j'ai essayé de l'envelopper avec un flacon
J'ai essayé de créer un linebot (implémentation)
J'ai essayé l'analyse de régression multiple avec régression polypoly
J'ai essayé d'envoyer un SMS avec Twilio
J'ai essayé d'utiliser Amazon SQS avec django-celery
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de créer un linebot (préparation)
J'ai essayé de visualiser AutoEncoder avec TensorFlow
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
J'ai essayé de commencer avec Hy
J'ai essayé d'utiliser du sélénium avec du chrome sans tête
J'ai essayé l'analyse factorielle avec des données Titanic!
J'ai essayé d'apprendre avec le Titanic de Kaggle (kaggle②)
J'ai essayé le rendu non réaliste avec Python + opencv
J'ai essayé un langage fonctionnel avec Python
J'ai essayé la récurrence avec Python ② (séquence de nombres Fibonatch)
J'ai essayé d'implémenter DeepPose avec PyTorch PartⅡ
Application Web facile avec Python + Flask + Heroku
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai essayé de jouer avec l'image avec Pillow
Environnement de lancement avec LineBot + Heroku + Docker + Python
J'ai essayé de résoudre TSP avec QAOA
J'ai essayé la reconnaissance d'image simple avec Jupyter
Premiers pas avec Heroku, déploiement de l'application Flask
J'ai essayé le réglage fin de CNN avec Resnet
Lancez l'application Flask avec Docker sur Heroku
J'ai essayé le traitement du langage naturel avec des transformateurs.
# J'ai essayé quelque chose comme Vlookup avec Python # 2
J'ai essayé la reconnaissance manuscrite des caractères des runes avec scikit-learn
J'ai essayé de prédire l'année prochaine avec l'IA
Comment télécharger avec Heroku, Flask, Python, Git (4)