Recently, the LINE BOT API is popular in the streets (is it late to notice?) According to official announcements and press releases
What is "BOT API Trial Account"? With BOT API Trial Account, you can try API development that enables two-way communication between your service and LINE users. Introduction of BOT API Trial Account | LINE Business Center
Open to the first 10,000 third-party developers ahead of the opening of a messaging API that allows corporate accounts to interact with users in a conversational manner.
You can create a bot account that sends and receives messages via API by linking the system or service developed by the user with the LINE account. Expected to be used in various applications and fields such as restaurant search, schedule notification and coupon issuance linked with the schedule app, and operation from LINE by linking with hardware such as home appliances. ITmedia LINE BOT API News
Possibility of one to one marketing?
http://lbc.line.me/ Than
There was a person making something interesting and I wanted to imitate it. ・ The story of making a BOT with AWS Lambda that analyzes images using Google Cloud Vision because the LINE API has been released
・ Story of implementing BOT that teaches translation of English words with LINE BOT API
・ Search for today's lunch with LINE BOT API It seems that it is connected with google API
・ Register a BOT API Trial Account ・ Registration of Callback URL -Server IP Whitelist settings (register the IP addresses allowed when sending messages) ・ Morphological analysis code creation
Generally speaking stumbling point -The callback URL must be encrypted. And it is necessary to specify port 443 (SSL port number) (https: //○○○○.ssl-xserver.jp:443/linebot/callback.py) -The set callback is reflected slowly. -The reflection of Server IP Whitelist is also slow.
Registered from LINE Business Center, it was said that the first 10,000 people, but probably not
Just enter it normally.
Once registration is complete ・ Channel ID ・ Channel Secret ・ MID You can get 3 keys. This is the code that will be set in the request header when making an API request.
Some people are AWS, some are rental servers, and some are Heroku (PaaS?). This time, I used the rental server Xserver. Click SSL Settings
Just set up common SSL. Describe the set URL (https: //○○○○.ssl-xserver.jp) as a callback URL on the dashboard of LINE developers.
The language is Python. I referred to this site.
callback.py
from flask import Flask
from flask import request
from janome.tokenizer import Tokenizer
import requests
import json
import re
import settings
LINEBOT_API_EVENT ='https://trialbot-api.line.me/v1/events'
LINE_HEADERS = {
'Content-type': 'application/json; charset=UTF-8',
'X-Line-ChannelID':settings.CHANNEL_ID,
'X-Line-ChannelSecret':settings.CHANNEL_SECRET,
'X-Line-Trusted-User-With-ACL':settings.MID
}
def post_event(to, content):
msg = {
'to': [to],
'toChannel': 1383378250,
'eventType': "138311608800106203",
'content': content
}
r = requests.post(LINEBOT_API_EVENT, headers = LINE_HEADERS, data = json.dumps(msg))
def post_text(to, text):
content = {
'contentType':1,
'toType':1,
'text':text,
}
post_event(to, content)
commands = (
(re.compile('author', 0), lambda x: 'https://nnsnodnb.moe'),
)
app = Flask(__name__)
@app.route("/callback", methods=['POST'])
def callback():
messages = request.json['result']
for message in messages:
text = message['content']['text']
for matcher, action in commands:
if matcher.search(text):
response = action(text)
break
else:
post_text(message['content']['from'], 'Under analysis...')
#Morphological analysis
response = ''
t = Tokenizer()
for token in t.tokenize(message['content']['text']):
response += str(token) + '\n'
post_text(message['content']['from'], response)
return ''
if __name__ == "__main__":
app.run(host = '0.0.0.0', port = 8001, threaded = True, debug = True)
Upload this on the server with FTP software!
Not morphologically analyzed Read through
I don't know if it's a code mistake or waiting for the callback URL to be reflected, but I'll wait a little longer
If you want to see it using the read-through BOT, please make friends (may be deleted without notice)
Depending on how I did it, I felt that it was easy for individuals to create BOTs with convenient functions and BOTs that shine in the business scene (although I was not allowed to do morphological analysis ...). It seems that chatbots are also popular in the neighborhood.
I also feel that there was a different approach if I had knowledge about the server
It's been a while since the read-through was so painful.
There is a person who writes the same thing, and a mysterious feeling of familiarity http://naoyashiga.hatenablog.com/entry/2016/04/12/123312
I made a LINE bot with Python + Flask http://nnsnodnb.hatenablog.jp/entry/line-bot-made-flask
Introducing 21 examples of LineBot http://blog.minato.jp.net/entry/linebot
How to use LINE API (BOT API) that can be used by individuals (PHP). The trial version can be used by the first 10,000 people! https://www.panzee.biz/archives/9115 LINE developers BOT API official https://developers.line.me/bot-api/overview
Recommended Posts