使用line-bot-sdk-java在Spring Boot上创建LINE Bot
简介
使用LINE分发的line-bot-sdk-java示例代码,尝试运行LINE Bot的步骤。这个示例代码包含了创建LINE Bot所需的全部代码,因此在这基础上进行扩展会更加高效。Java的版本是11.02。
相关
使用Spring Boot + JPA + Flyway在Heroku上创建LINE Bot。
这是对line-bot-sdk-java进行修改并进行数据库连接的版本。
环境
-
- Java 11.02
- Spring Boot 2.4.9 (line-bot-sdk-javaで使われているversion)
创建LINE媒体频道
根据以下内容创建一个频道。
创建一个专门供机器人使用的频道。
在Heroku上创建应用
在Heroku上创建应用。
https://signup.heroku.com/
将环境变量注册到Heroku上。
在LINE开发者控制台中,确认Messaging API通道的通道秘钥和通道访问令牌,并将以下内容注册到Heroku管理界面的Config Vars中。
CHANNEL_TOKEN:LINE的频道访问令牌
CHANNEL_SECRET:LINE的频道密钥
编写源代码
获取示例代码
在示例代码中包含了各种各样的内容,但是我们要使用其中的sample-spring-boot-kitchensink。
$ git clone https://github.com/line/line-bot-sdk-java.git
使用IntelliJ打开build.gradle文件
使用Intellij打开TOP层级的build.gradle。
编辑Procfile
为了使用sample-spring-boot-kitchensink,请将Procfile改写为以下内容。
-web: java $JAVA_OPTS -jar sample-spring-boot-echo/build/libs/sample-spring-boot-echo-*.jar --server.port=$PORT
+web: java $JAVA_OPTS -jar sample-spring-boot-kitchensink/build/libs/sample-spring-boot-kitchensink-*.jar --server.port=$PORT
创建和编辑设置文件
复制模板。
$ cd sample-spring-boot-kitchensink/src/main/resources/
$ cp application-template.yml application.yml
请删除以下字符串,并使用环境变量定义LINE的TOKEN和SECRET如下。
这是一个配置文件的模板。
复制一份叫做application.yml的副本,并更改下面的值。
line.bot:
channel-token: ${CHANNEL_TOKEN}
channel-secret: ${CHANNEL_SECRET}
handler.path: /callback
部署
将Heroku的信息注册到Git中。
$ heroku git:remote -a {HEROKU_APP_NAME}
部署
$ git add Procfile
$ git commit -m 'Initial commit'
$ git push heroku master
LINE开发者控制台
在LINE的管理界面上,将Heroku应用的URL作为Webhook注册。
Webhook URL:https://{HEROKU_APP_NAME}.herokuapp.com/callback
使用Webhook:开启
如果確定OK的話,表示LINE BOT已經成功啟動了。
确认动作
用LINE应用给相关频道发送消息。以下功能都已经在示例代码中实现了。
输入「profile」,获取用户配置文件。
输入「按钮」并发送模板消息
输入”confirm”,发送模板消息
输入”旋转木马”并发送模板信息。
输入“imagemap”,发送图像地图消息
邀请LINE公式账号进入群聊,并输入“再见”。
可以将LINE官方账号从群聊中移除。
请将图片、音频、视频、位置信息等发送至LINE公式账号。
机器人会获取这些内容并发送相同的内容回来。
源代码
Gradle的版本太低。
如果需要,可以升级Gradle版本至6.7.1,所以请参考下方提供的示例代码。
$ ./gradlew -v
------------------------------------------------------------
Gradle 6.7.1
------------------------------------------------------------
Build time: 2020-11-16 17:09:24 UTC
Revision: 2972ff02f3210d2ceed2f1ea880f026acfbab5c0
Kotlin: 1.3.72
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM: 13.0.2 (Oracle Corporation 13.0.2+8)
OS: Mac OS X 10.14.6 x86_64
有关
在Heroku上使用Spring Boot + JPA + Flyway来创建LINE Bot
请参考。
-
- Herokuでサンプルボットを作成する
- https://github.com/line/line-bot-sdk-java