【놀이용】유파파를 LINE Bot로 해 본다(Python)
8103 단어 유파파이썬LINEmessagingAPI재료linebot
소개
@Nemesis씨의 Java로 유파파를 실장해 보는 것을 보고, 자신의 이름을 넣고 유파파에 놀려 보고 싶은 분도 있는 것은 아닐까? ? 라고 생각 Bot화했습니다.
다음 QR 코드에서 Bot 친구 추가가 가능합니다.
꼭 놀아보세요.
엔지니어계 쿠마에서 이런 것 유행하고 있기 때문에, 세상에도 알리고 싶기 때문에 꼭 LGMT를 잘 부탁드립니다.
구현에 대해
언어는 파이썬을 사용했습니다.
""계약서야. 거기에 이름을 쓰지 마라. ""를 발동하기 위해서는 유저로부터의 리퀘스트가 필요한 것은 조금 곤란했습니다만, 귀찮아서 「일하게 해」정말의 말을 말하면 반응하도록(듯이) 했습니다.
기본적으로 문자 깎기만 놀아보세요.
코드
main.py
from flask import Flask, request, abort
import random
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage)
import os
app = Flask(__name__)
YOUR_CHANNEL_ACCESS_TOKEN = 'XXXXXXXXXXX'
YOUR_CHANNEL_SECRET = 'XXXXXXXXXXX'
line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(YOUR_CHANNEL_SECRET)
@app.route("/callback", methods=['POST'])
def callback():
signature = request.headers['X-Line-Signature']
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
try:
handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
word = event.message.text
if '働かせて' in word:
reply_word = "契約書だよ。そこに名前を書きな。"
else:
newName = random.choice(word)
reply_word = f"フン。{word}というのかい。贅沢な名だねぇ。 今からお前の名前は{newName}だ。いいかい、{newName}だよ。分かったら返事をするんだ、{newName}!!"
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=reply_word))
if __name__ == "__main__":
port = int(os.getenv("PORT", 5000))
app.run(host="0.0.0.0", port=port)
실행 결과
좋은 느낌으로 잘라 주네요.
감상
공문자를 보낼 수 없기 때문에 정해진 에러를 뱉을 수 없는 것은 용서해 주세요.
왜 한 문자 잘라내기가 유행하고 있는지 수수께끼.
랜덤으로 문자수도 잘라내고 싶다.
LINE bot은 너무 편리하기 때문에 더 기능 알고 싶다.
이상.
Reference
이 문제에 관하여(【놀이용】유파파를 LINE Bot로 해 본다(Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bayashimon/items/959e03e2fc20148f714d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)