[LINE BOT] Ich habe einen Ramen BOT mit Java (Maven) + Heroku + Spring Boot (1) gemacht.

Erstellen Sie eine Antwortfunktion, indem Sie Heroku und LINE API verbinden!

Ich möchte einen Ramen-BOT mit der LINE-API erstellen! damit Erstellen Sie zunächst einen "Echo" -Bot, der Papageien mit dem Java LINE Bot SDK zurückgibt. ▼ Implementiert unter Bezugnahme auf die folgende URL "Erstellen Sie einen Beispielbot mit Heroku" https://developers.line.me/ja/docs/messaging-api/building-sample-bot-with-heroku/

Benutztes Werkzeug

LINE Messaging API

Verfahren

  1. Richten Sie die LINE Messaging-API ein
  2. Richten Sie Heroku ein
  3. Maven-Projekt generieren
  4. In Heroku bereitstellen

Erstellen Sie ein Maven-Projekt

1.pom.xml

pom.xml


.
.
.

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>
    
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		<dependency>
			<groupId>com.linecorp.bot</groupId>
			<artifactId>line-bot-api-client</artifactId>
			<version>1.12.0</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.linecorp.bot</groupId>
			<artifactId>line-bot-model</artifactId>
			<version>1.12.0</version>
			<scope>compile</scope>
			<exclusions>
				<exclusion>
					<artifactId>commons-logging</artifactId>
					<groupId>commons-logging</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.linecorp.bot</groupId>
			<artifactId>line-bot-spring-boot</artifactId>
			<version>1.11.0</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

2.application.yml Zugriffstoken und Kanalgeheimnis werden generiert, wenn Sie mit der LINE Messaging-API einen neuen Kanal erstellen

application.yml


line.bot:
  channel-token: 'AcccessToken'
  channel-secret: 'Channel Secret'
  handler.path: /callback

3.Procfile ★ ☆ Punkt ☆ ★

  1. Generieren Sie eine Datei im Stammverzeichnis
  2. Der Dateiname lautet "Procfile" * Das erste "P" ist in Großbuchstaben! https://devcenter.heroku.com/articles/procfile

Procfile


web: java $JAVA_OPTS -jar target/{APPNAME}-0.0.1-SNAPSHOT.jar --server.port=$PORT

4.App.java Ich habe den Code aus dem Java LINE Bot SDK kopiert.

App.java


@SpringBootApplication
@LineMessageHandler
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
		System.out.println("hello");
	}

	@EventMapping
	public TextMessage handleTextMessageEvent(MessageEvent<TextMessageContent> event) {
		System.out.println("event: " + event);
		return new TextMessage(event.getMessage().getText());
	}

	@EventMapping
	public void handleDefaultMessageEvent(Event event) {
		System.out.println("event: " + event);
	}
}

Bereitstellen auf Heroku!

//Generierung des lokalen Repositorys, Festschreiben
$ git init
$ git add -A  
$ git commit

//Melden Sie sich über das CLI-Tool bei heroku an
$ heroku login

//Generierung von Webanwendungen in Heroku (zu diesem Zeitpunkt wird auch das Remote-Repository generiert)
$ heroku create APPNAME 

//Verknüpfen von lokalen und Remote-Repositorys
$ heroku git:remote --app APPNAME 

git push heroku master

Webhook-Einstellungen

・ Webhook senden ⇒ Verwenden ・ Webhook-URL ⇒ https: // {APPNAME} .herokuapp.com / callback {APPNAME} ist der Name der von Ihnen erstellten Anwendung

無題.png

** OK wenn die Verbindung erfolgreich bestätigt wurde! !! ** **.

Sie haben jetzt die Antwortfunktion implementiert! !!

Ich fand es einfach, aber ich hatte Probleme, weil die LINE Message API und Heroku keine Verbindung herstellten. Bitte beziehen Sie sich darauf ☆ Nächstes Mal werden wir Ramen BOT implementieren.

Recommended Posts

[LINE BOT] Ich habe einen Ramen BOT mit Java (Maven) + Heroku + Spring Boot (1) gemacht.
[Java] LINE-Integration mit Spring Boot
Ich habe ein einfaches Suchformular mit Spring Boot + GitHub Search API erstellt.
Konstruktionsverfahren für LINE Bot x Java (Spring Boot)
Ich habe jetzt einen Test mit Spring Boot + JUnit 5 geschrieben
Ich habe mit Spring Boot ein einfaches MVC-Beispielsystem erstellt
Ich habe eine shopify App @java erstellt
Ich habe GraphQL mit Spring Boot ausprobiert
Ich habe mit JD-Core eine Befehlszeilenschnittstelle mit dem WinMerge Plugin erstellt
Ich habe versucht, einen OAuth-Client mit Spring Boot / Security (LINE-Anmeldung) zu implementieren.
Hallo Welt mit Eclipse + Spring Boot + Maven
Ich habe mit Ruby einen riskanten Würfel gemacht
Ich habe Lazy Initialization mit Spring Boot 2.2.0 ausprobiert
Ich habe eine Janken App mit Kotlin gemacht
Ich habe ein neues Java-Bereitstellungstool erstellt
Ich habe eine Janken App mit Android gemacht
[Java] Stellen Sie eine mit Eclipse + Maven + Ontology mit Heroku erstellte Webanwendung bereit
Ich habe ein Diff-Tool für Java-Dateien erstellt
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Erstellen Sie eine Website mit Spring Boot + Gradle (jdk1.8.x)
Konfigurieren Sie die Spring Boot-Anwendung mit dem Maven Multi-Modul
Erstellen Sie mit Spring Boot eine einfache Such-App
04. Ich habe mit SpringBoot + Thymeleaf ein Frontend gemacht
Ich habe Mosaikkunst mit Pokemon-Bildern gemacht
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Ich habe einen Docker-Container erstellt, um Maven auszuführen
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Lerne Java mit Progate → Ich werde es erklären, weil ich selbst ein einfaches Spiel gemacht habe
[Java] Hallo Welt mit Java 14 x Spring Boot 2.3 x JUnit 5 ~
[Java] Artikel zum Hinzufügen einer Validierung mit Spring Boot 2.3.1.
Ich wollte Spring Boot in einem Multiprojekt gradle
Ich habe versucht, eine Webanwendung voller Fehler mit Spring Boot zu klonen
Einfacher LINE BOT mit Java Servlet
Erstellen Sie einen Web-API-Server mit Spring Boot
Ich habe versucht, den Block mit Java zu brechen (1)
Stellen Sie Line Bot mit Rails5 + Docker + Heroku Note bereit
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ich habe versucht, mit Java und Spring eine Funktion / einen Bildschirm für den Administrator einer Einkaufsseite zu erstellen
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Ich habe eine Funktion zum Registrieren von Bildern bei der API in Spring Framework erstellt. Teil 1 (API Edition)
Nehmen Sie das externe Glas mit Spring boot2 + Maven3 in das Paket auf
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
[Java] [Spring Boot] Geben Sie das Laufzeitprofil an - Spring Boot beginnend mit NetBeans
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 2
[JUnit 5-kompatibel] Schreiben Sie einen Test mit JUnit 5 mit Spring Boot 2.2, 2.3
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Implementieren Sie eine einfache Rest-API mit Spring Security mit Spring Boot 2.0
[JUnit 5] Schreiben Sie einen Validierungstest mit Spring Boot! [Parametrisierungstest]
Ich habe im Frühjahr einen Restful-Server und -Client erstellt.
Ich habe versucht, mit OCR eine PDF-Datei mit Java zu verarbeiten
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
Ich habe einen Wrapper erstellt, der KNP von Java aus aufruft
Nginx + Spring Boot Papagei Return LineBot mit VPS gemacht
Booten nach Umgebung mit Spring Boot of Maven
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 1
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Frühlingsstiefel + Heroku Postgres