초보자는 Flash로 linebot, Heroku로 디자인
개시하다
제가 이 기사를 쓰는 이유를 쓰도록 허락해 주십시오.
나는 2020년 3월에 프로그래밍을 배우기 시작한 사람이다.그래서 나는 학습의 기록과 성과를 다시 한 번 쓰고 싶다.
그리고 여기에 쓴 것은 각양각색의 보도를 참고한 것이다.
그리고 린봇을 만든 경과와 총결산을 적고 싶습니다.
또 다른 질문이 있다면 답변할 수 있는 것이 있을 수 있으니 모르는 것이 있으면 마음대로 질문하세요.
카탈로그
· 헤로쿠&라인 개발자 계정 제작
인코딩
・Giit hub push
・Heroku push
· 라인 합작
설치
Heroku&LINE 개발자 계정 만들기
이거, 다른 사이트 보고 만드세요.
부호화
먼저 디렉터리를 마음대로 만듭니다
다음 파일은 생성된 디렉토리에 생성됩니다.
--"Directory"
|-app.py
|-Procfile
|-requirements.txt
|-runtime.txt
우선, 앱.py인데 복사하고 붙이면 돼요.
복사 후 각종 설비를 설치하지 않으면 사용할 수 없기 때문에 설치를 찾아보았다.
코드에 신경 쓰이는 건 스스로 조사해 보세요.
app.pyfrom flask import Flask, request, abort
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
import os
app = Flask(__name__)
line_bot_api = LineBotApi('YOUR_ACESS_TOKEN')
handler = WebhookHandler('CHANNEL_SECRET')
@app.route("/")
def hello_world():
return "hello world!"
@app.route("/callback", methods=['POST'])
def callback():
# get X-Line-Signature header value
signature = request.headers['X-Line-Signature']
# get request body as text
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
# handle webhook body
try:
handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text))
if __name__ == "__main__":
# app.run()
port = int(os.getenv("PORT"))
app.run(host="0.0.0.0", port=port)
Procefile은 파일에서 코드를 쓰는 데 약간의 신경을 썼다.
참고 가치가 있는 서류를 보고 스스로 조사하여 쓰세요.
https://qiita.com/1-row/items/80f89c8ada2e61f04446 web: python app.py
이어서, Requirements.txt이지만 아래와 같이 써야 합니다.
플래시와 line-bot-sdk의 버전을 확인하고 기입할 수 있습니다
나는 이런 지령으로 기입할 수 있다고 생각한다.작법은 개인이 결정한다.$ pip3 freeze > requirements.txt
requirements.txtFlask==1.1.2
line-bot-sdk==1.16.0
runtime.txt 파일
파이썬 버전 확인하고 써주세요.
runtime.txtpython-3.8.0
Git hub push
코드를 썼으면 GiitHub에서 Push를 사용하십시오.
우선 깃허브의 리포지토리로 NEW에 새 창고를 만든다.
Push에서 만든 디렉터리입니다.$ echo "# [ディレクトリ名]" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin [pushするディレクトリのurl]
$ git push -u origin master
Heroku push
Heroku의 응용 프로그램에서 push와 응용 프로그램을 만드는 방법입니다.
어플리케이션 이름은 무엇이든 되지만 heroku create만 있으면 적합한 이름이 됩니다.이것은 모든 사람에게 맡겨라.$ heroku login
$ git init
$ git add .
$ git commit -m 'first commit'
$ heroku create [アプリケーション名]
$ git push heroku master
먼저 기릿허브와 헤로쿠 두 개를 모두 푸시한 뒤 일부 카탈로그 변경 등을 한 뒤 이런 방법으로 푸시한다.$ git add .
$ git commit -m 'コメント'
$ git push origin master
$ git push heroku master
프로그램을 사용할 수 있도록 명령줄에서 다음과 같이 실행합니다.
여기서 Application error가 발생하는 셈이다.
내가 생각할 수 있는 이유는 설계를 제대로 하지 않았기 때문일 수도 있다.
git push heroku master가 아직 완성되지 않은 셈이다.먼저 Heroku에 로그인해서 프로그램을 Create로 만듭니다.이후 기트나 히로쿠 모두 두 가지 디자인을 하는 것이 좋다.진행되는 절차가 많기 때문에 공정을 건너뛰고 진행될 가능성이 있다.$ heroku open [アプリケーション名]
LINE 공동 작업
LINE 개발자 계정에서 채널 액세스 토큰과 채널 기밀을 발행하고 아래 코드 위치에 놓는다.
먼저 "Messageing API 설정"맨 아래에 있는 채널 액세스 토큰을 발행하여 복사하십시오.ACESS_TOEN'에 놓다.
다음은 채널 기밀입니다.'채널 기본설정'아래에 있기 때문에 발행과 복사를 해야 합니다.SECRET를 넣으십시오.
app.pyline_bot_api = LineBotApi('YOUR_ACESS_TOKEN')
handler = WebhookHandler('CHANNEL_SECRET')
다음은 웹훅 설정입니다.이것은 Messageing API 설정 위에 있습니다.처음에는 아무것도 쓰지 않았을 거라고 생각했는데 방금 만든 헤로쿠의 앱'오픈 앱'을 클릭해 URL을 가져왔어요. 그런데 개인적으로 여기가 귀찮아요.
먼저 명령줄에서 이렇게 실행하세요.$ heroku open [アプリケーション名]
그럼 이런 화면을 출력할 수 있을 것 같아요.이 화면은 잘 조정할 수 있는 화면이다.
이것이 표시되면 URL을 사용합니다.https://[アプリケーション名].herokuapp.com/
그런 다음 Messageing API 설정의 웹 훅에 추가합니다.https://[アプリケーション名].herokuapp.com/callback
이루어지다
라인에 계정을 추가하고 싶은데 채팅을 보내면 반송될 거예요.
인용하다
프로그램 제작 절차 관련
https://qiita.com/suigin/items/0deb9451f45e351acf92
관계를 먼저 변경하다
https://qiita.com/Tattsum/items/b86c9d698b0727934836
https://qiita.com/tamago324/items/4df361fd6ac5b51a8a07
Reference
이 문제에 관하여(초보자는 Flash로 linebot, Heroku로 디자인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogo_scott/items/6ea0c9f188d79ce50d91
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from flask import Flask, request, abort
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
import os
app = Flask(__name__)
line_bot_api = LineBotApi('YOUR_ACESS_TOKEN')
handler = WebhookHandler('CHANNEL_SECRET')
@app.route("/")
def hello_world():
return "hello world!"
@app.route("/callback", methods=['POST'])
def callback():
# get X-Line-Signature header value
signature = request.headers['X-Line-Signature']
# get request body as text
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
# handle webhook body
try:
handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text))
if __name__ == "__main__":
# app.run()
port = int(os.getenv("PORT"))
app.run(host="0.0.0.0", port=port)
web: python app.py
$ pip3 freeze > requirements.txt
Flask==1.1.2
line-bot-sdk==1.16.0
python-3.8.0
$ echo "# [ディレクトリ名]" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin [pushするディレクトリのurl]
$ git push -u origin master
$ heroku login
$ git init
$ git add .
$ git commit -m 'first commit'
$ heroku create [アプリケーション名]
$ git push heroku master
$ git add .
$ git commit -m 'コメント'
$ git push origin master
$ git push heroku master
$ heroku open [アプリケーション名]
line_bot_api = LineBotApi('YOUR_ACESS_TOKEN')
handler = WebhookHandler('CHANNEL_SECRET')
$ heroku open [アプリケーション名]
https://[アプリケーション名].herokuapp.com/
https://[アプリケーション名].herokuapp.com/callback
Reference
이 문제에 관하여(초보자는 Flash로 linebot, Heroku로 디자인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shogo_scott/items/6ea0c9f188d79ce50d91텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)