Skip to content
Home » 라인 봇 만들기 | 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기 98 개의 정답

라인 봇 만들기 | 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기 98 개의 정답

당신은 주제를 찾고 있습니까 “라인 봇 만들기 – 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기“? 다음 카테고리의 웹사이트 kk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://kk.taphoamini.com/wiki. 바로 아래에서 답을 찾을 수 있습니다. 작성자 중딩개발자-스팸봇 개발중 이(가) 작성한 기사에는 조회수 41회 및 좋아요 3개 개의 좋아요가 있습니다.

LINE 봇 만들기
  1. LINE 모바일 앱에서 설정> 계정> 이메일 계정 등록으로 이동하여 계정을 만듭니다. …
  2. 브라우저에서 LINE 비즈니스 센터에 접속하십시오. …
  3. LINE@ 계정(일반계정)을 생성 후 관리화면에 로그인 합니다. ( …
  4. LINE@ MANAGER에서 계정 리스트를 확인 합니다.

라인 봇 만들기 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기 – 라인 봇 만들기 주제에 대한 세부정보를 참조하세요

이거 하나 만들려고 엄청난 고생을…흑흑

라인 봇 만들기 주제에 대한 자세한 내용은 여기를 참조하세요.

LINE Bot 만들기 – 1. 시작하기

채팅봇(Chat Bot)이란? 챗봇이란 쉽게 말해 채팅하는 로봇이다. 정해진 응답 규칙에 따라 사용자 질문에 응답할 수 있도록 만들어진 시스템이다.

+ 여기에 더 보기

Source: dev-momo.tistory.com

Date Published: 8/5/2021

View: 1478

LINE 용 챗봇 만드는 방법

LINE 봇 (Messaging API)을 등록합니다. Webhook 구성; 기본 응답 삭제; QR 코드를 사용하여 LINE 봇을 새 친구로 추가. LINE Bot …

+ 여기에 더 보기

Source: www.chatcompose.com

Date Published: 4/27/2021

View: 5889

LINE Messaging API를 활용한 챗봇 만들기

현재 프로젝트를 진행하며 백엔드는 스프링 부트로 개발하고 실제 보이는 플랫폼은 라인봇을 사용하게 되었습니다. 이 글에서는. 1. 라인봇 채널 생성.

+ 더 읽기

Source: dbbymoon.tistory.com

Date Published: 8/9/2022

View: 3433

코딩 한 줄 없이 라인 봇으로 거짓말 탐지기 만들기!

챗봇을 이용한 재미있는 기능들을 연구하고 있는 LINE AFD Labs입니다. 오늘은 LINE Messaging API를 활용하여 거짓말을 탐지하는 라인 봇을 만드는 방법 …

+ 자세한 내용은 여기를 클릭하십시오

Source: engineering.linecorp.com

Date Published: 3/10/2021

View: 1961

[이렇게 사용하세요!] 나만의 LINE 챗봇(Chat Bot) 서비스 구축하기

채팅봇’, ‘챗봇’이 무엇인가요? … 네이버 클라우드 플랫폼을 활용해 LINE 챗봇 서비스를 구현하기 위해선 … [LINE@ 계정 만들기]를 클릭합니다.

+ 여기에 자세히 보기

Source: blog.naver.com

Date Published: 9/18/2021

View: 9190

[Python] 라인(LINE) 메신저로 알림봇 만들기 – 푸른하늘 은하수

[Python] 라인(LINE) 메신저로 알림봇 만들기 · 1. LINE 계정 확인하기 – 우선 LINE 앱에서 [더보기] > [설정] > [계정]을 선택합니다. · 2. LINE Notify …

+ 여기에 표시

Source: 100sang.net

Date Published: 5/5/2021

View: 7195

라인(LINE) LINE Message API 챗봇 만들기

실제로 제대로 동작을 하는지 확인을 해보도록 하겠습니다. 라인봇을 동작하기 위해선 웹훅을 올려놓을 서버가 반듯이 https를 지원하는 서버이어야만 …

+ 여기에 표시

Source: playneko.github.io

Date Published: 1/11/2022

View: 65

【RE:】단톡방용 라인 챗봇 만들기① – MADANG – 티스토리

먼저 pip로 라인봇을 인스톨 해줍시다. 1. $ pip install line-bot-sdk.

+ 여기에 자세히 보기

Source: chooi9522.tistory.com

Date Published: 5/15/2021

View: 4106

주제와 관련된 이미지 라인 봇 만들기

주제와 관련된 더 많은 사진을 참조하십시오 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

중딩의 봇 만들기 드디어  완성인가!? 라인 스팸봇 소개하기
중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기

주제에 대한 기사 평가 라인 봇 만들기

  • Author: 중딩개발자-스팸봇 개발중
  • Views: 조회수 41회
  • Likes: 좋아요 3개
  • Date Published: 2021. 2. 20.
  • Video Url link: https://www.youtube.com/watch?v=OQfIyVJpByE

LINE Bot 만들기

채팅봇(Chat Bot)이란?

챗봇이란 쉽게 말해 채팅하는 로봇이다. 정해진 응답 규칙에 따라 사용자 질문에 응답할 수 있도록 만들어진 시스템이다. 전자게시판이나 통신망에서 여러 사용자가 다양한 주제를 가지고 실시간 모니터링 화면을 통해 대화를 나누는 채팅과, 자동으로 사람이 하던 일을 수행하는 기계인 로봇에서 한 글자씩 따와 만든 용어다. 인공지능을 기반으로 사람과 자동으로 대화를 나누는 소프트웨어라고 보면 된다.

출처 : 네이버 캐스트 – 채팅 봇 http://navercast.naver.com/contents.nhn?rid=122&contents_id=120105

봇 API를 제공해주는 메신저는 많이 있는데요. 그중에서 2016 LINE Developer Day때 발표한 Message API를 이용해서, 라인 채팅 봇을 만들어 보았습니다.

이번 포스트에서는 라인 봇(LINE Bot)을 만들 때 했던 개발 정보와 삽질(?)을 공유해보고자 합니다.

아래 이미지는 제가 만든 아기 고양이 봇 모모입니다 🙂

라인 봇(LINE BOT)이 동작하는 구조에 대해서 간단히 설명하도록 하겠습니다.

라인 비지니스 센터에서 봇 계정을 생성한 후, 우리가 만든 서버의 callback URL을 등록합니다. 그 후 사용자가 봇이 들어가있는 채팅방에서 메세지를 보내면, callback URL이 동작하여, 우리가 만든 서버로 대화정보가 넘어옵니다. 이 정보를 적절히 파싱해서 Reply API를 이용해 봇에게 답장을 보내도록 할 수 있습니다.

라인 채팅봇을 만들기 위해서는 몇가지 필요한 준비물이 있습니다.

먼저 채팅봇 계정과 봇이 돌아갈 서버가 필요합니다. 또 bot api가 https를 사용하기 때문에, 공신력있는 인증서와 도메인이 필요합니다. 전체적인 라인 봇 개발에 필요한 정보는 라인 개발자 홈페이지에서 확인할 수 있습니다.

이 포스트에서는 아마존 웹 서비스(AWS)의 Elastic Cloud 2(EC2) + comodo 인증서 + nodejs 서버를 이용해서 봇을 만들어 보도록 하겠습니다.

LINE@ 계정 만들기

1) 라인 비지니스 센터(https://business.line.me/ko/)에 접속해서 로그인합니다. (아이디가 없으신분들은 라인 계정을 만들어서 로그인하시면 됩니다.)

2) 계정목록 탭을 선택한 후, 비니지스 계정 개설 버튼을 클릭합니다.

3) 서비스 선택에서 Messaging API를 선택 후, 계정을 만들 때 필요한 내용들을 채워넣어 줍니다.

4) 계정이 생성되었으면 LINE@ Manager 페이지로 이동합시다. 이 페이지에서 봇 기능을 활성화 시켜주어야 합니다.

봇 계정으로 활성화화기 위해선 왼쪽의 메뉴목록에서 계정 설정 > Bot 설정을 클릭합니다. 그 후 보이는 페이지에서 API 켜기 버튼을 클릭해서 Bot을 활성화 시킵니다.

5) 봇 설정을 해줍니다. Messaging API를 사용하기 위해선 Webhook URL 사용을 활성화 시켜주어야 합니다.

아래와 같이 설정해준 후에 상태 > LINE Developers 버튼을 눌러서 개발자 페이지로 이동합니다.

6) 여기서 중요하게 볼 항목은 Webhook URL 과 Channel Access Token 입니다.

Webhook URL에 우리가 만든 서버의 POST URL을 등록하여, 유저 입력이 들어왔을 때 어떻게 처리할지를 정할 수 있습니다. Channel Access Token은 서버에서 응답을 보낼 때, 인증을 위해 Header에 첨부해야 하는 정보입니다.

아직은 서버가 없으니 이런게 있다~ 정도만 알고 넘어가도록 하겠습니다.

더 자세한 내용이나 동영상은 LINE Developer Messaging 페이지(https://developers.line.me/messaging-api/getting-started)에서 보실 수 있습니다. 다음으로 아마존 웹 서비스(AWS)에 서버를 세팅해 보도록 하겠습니다.

연관된 포스트

LINE Bot 만들기 – 2. AWS 서버 & SSL 인증서

LiNE Bot 만들기 – 3. Nodejs 서버 만들기

LINE 용 챗봇 만드는 방법

LINE 용 챗봇 만드는 방법

단계 개요

LINE 봇 (Messaging API)을 등록합니다. Webhook 구성 기본 응답 삭제 QR 코드를 사용하여 LINE 봇을 새 친구로 추가

LINE Bot 등록 (Messaging API)

여기 에서 채널을 만드는 방법에 대한 공식 자습서를 찾을 수 있습니다.

먼저 여기 에서 개발자 계정을 만드 십시오 . 또한 LINE 계정이 필요합니다.

등록되면 “새 공급자 만들기”를 선택하고 이름을 지정합니다.

다음 단계에서 “메시징 API 채널 만들기”를 클릭합니다. 여기에서 챗봇을 LINE 과 연결할 수 있습니다.

챗봇에 대한 설명과 표시하려는 기타 정보를 입력합니다.

모든 필수 필드를 채우고 “만들기”를 누르십시오.

다음 페이지에서 채널 세부 정보를 편집하고 “채널 비밀”키를 얻을 수 있습니다.

페이지 하단으로 스크롤하여 키를 복사합니다. 다음 단계에 필요합니다.

다음 단계에서는 페이지의 “Messaging API”탭으로 이동하십시오.

여기에서 “Webhook URL”을 설정하고 액세스 토큰을 생성 할 수 있습니다.

먼저 “채널 액세스 토큰”섹션까지 아래로 스크롤합니다.

채널 액세스 토큰을 만들려면 ‘발행’을 누르세요. 이 키도 필요합니다.

Webhook 구성

“채널 액세스 토큰”키와 “채널 비밀”키를 모두 복사하면 해당 값을 플랫폼에 입력 할 수 있습니다.

ChatCompose 계정에 로그인하고 “Integrations”로 이동하여 ” LINE “을 클릭하십시오. LINE 구성 페이지로 이동합니다.

여기에 이전 단계에서 복사 한 두 개의 키를 입력 할 수 있습니다. 해당 필드에 복사하고 저장하십시오.

또한이 페이지에 제공된 Webhook URL을 사용해야합니다. 복사하십시오.

LINE Console로 돌아가서 “Messaging API”탭의 Webhook 설정으로 이동합니다.

콘솔에서 제공하는 웹훅을 입력하고 저장을 누릅니다. 나중에 확인하십시오. 또한 웹훅을 활성화합니다.

기본 응답 삭제

기본적으로 LINE 은 누군가가 채널을 추가하고 메시지를 보낼 때 자체 응답을 제공합니다.

이러한 작업을 처리하기 위해 ChatCompose 를 사용할 ChatCompose 기본값을 삭제할 수 있습니다.

“Messaging API”에는 ” LINE 공식 계정 기능”섹션이 있습니다. 편집하십시오.

“자동 응답 메시지”및 “인사말 메시지”를 비활성화하고 편집 버튼을 눌러 “웹 후크”를 활성화합니다.

초기 구성

설치> 일반으로 이동하여 챗봇의 초기 메시지와 스크립트를 설정할 수도 있습니다. 초기 메시지를 작성하고 초기 스크립트를 선택하십시오. 새 사용자가 챗봇을 추가 할 때마다 표시됩니다.

QR 코드를 사용하여 LINE 봇을 새 친구로 추가

“Messaging API”탭에서 QR 코드도 찾을 수 있습니다. LINE 모바일 앱으로 스캔하여 채널을 추가하세요.

챗봇의 초기 메시지 또는 스크립트를 받아야합니다.

한계

LINE 은 옵션 구성 요소에서 20 자만 표시 할 수 있습니다. 따라서 옵션에 20 자 미만으로 레이블을 지정해야합니다.

LINE 은 JPG, JPEG, PNG, PDF, MP3 및 MP4 확장자에 대한 이미지, 문서 및 비디오 구성 요소 만 표시 할 수 있습니다.

HTML 구성 요소는 허용되지 않습니다. LINE 은 브라우저가 아니므로 HTML 코드를 렌더링 할 수 없습니다.

LINE Messaging API를 활용한 챗봇 만들기

현재 프로젝트를 진행하며 백엔드는 스프링 부트로 개발하고 실제 보이는 플랫폼은 라인봇을 사용하게 되었습니다.

이 글에서는

1. 라인봇 채널 생성

2. 샘플봇(line-bot-sdk-java) 사용하기

3. ngrok을 이용한 로컬 네트워크 터널링

4. 샘플봇이 잘 동작하는지 확인

5. 개인 프로젝트에 적용하기 (Spring Boot)

다섯 단계에 대한 내용을 다룰 것입니다.

1. 라인봇 채널 생성

1.1. Line Developer 계정 및 Provider 생성

https://developers.line.biz 에서 Line Developer 계정을 생성하고 로그인을 하면, 다음과 같이 Provider를 생성하는 화면이 나타납니다.

[ Create New Provider ] 버튼을 클릭하여 Provider를 생성합니다.

” The provider is the entity (individual or company) that offers the app. ”

Provider란 우리가 만드는 app을 제공하는 개체입니다. 따라서 저희는 챗봇을 위한 채널을 생성할 수 있는 Provider를 먼저 생성해야 합니다.

1.2. 채널 생성

생성한 provider로 들어가면 다음과 같이 채널을 생성할 수 있는 화면이 나타납니다.

[ Create new Channel ] 버튼을 클릭하면 다음과 같이 세 개의 채널이 있습니다.

저희는 챗봇을 만들 것이기 때문에 Messaging API를 선택합니다. 그리고 간단하게 앱 이름, 설명 등의 정보를 기입한 후 채널을 생성합니다.

채널을 생성하면, 채널 정보를 확인하고 수정할 수 있는 화면이 나타납니다.

이 화면을 쭉 내려보면 [ Bot information ] 의 QR 코드가 있을 것입니다. 라인 메신저를 켜서 해당 QR 코드를 이용해 생성한 채널을 친구로 등록합니다.

친구로 등록하면 자동 응답 메시지가 올 수 있는데, Using LIne@ features 탭의 Auto-reply messages, Greeting messages를 disabled로 설정하면 자동 응답 메시지는 오지 않습니다. 저는 개발 중에 방해가 될 수 있을 것 같아 일단 disabled로 설정하였습니다.

이 화면에서 기억해두어야 할 것은 Channel Secret과 Channel Access Token입니다.

[ Basic Information – Channel Secret ] : 채널에 부여된 고유 secret

[ Messaging Settings – Channel Access Token ] : issue 버튼을 클릭해 새로 생성합니다.

두 개의 값은 추후 챗봇 설정에 필요하므로 알아두어야 합니다.

그리고 Messaging settings 탭의 webhook도 샘플봇 설정 시 필요하기 때문에, 일단 [ Messaging settings – Use Webhooks ] 를 enabled로 변경합니다. webhook에 관련된 내용은 밑에서 자세히 설명하도록 하겠습니다.

2. 샘플봇 사용하기

제 프로젝트에 적용하기 전에 라인에서 제공하는 샘플봇을 사용해 보았습니다. 부끄럽게도 지금까지 서비스를 배포해본 경험 없이 로컬에서만 개발하다 보니 이런 환경이 익숙하지 않아 차근차근 시작했습니다.

https://engineering.linecorp.com/ko/blog/line-messaging-api-samplebot

저는 Line Engineering의 ‘Line Messaging API 사용해보기’라는 글을 참고하여 따라해 보니, 정말 쉽고 간단하게 샘플봇이 실행되었습니다. 사실 위에 ‘Line Developer 채널 생성’ 부분은 위 글을 요약한 내용입니다. 이 두 번째 내용도 위 글을 요약해보겠습니다.

일단 샘플봇을 사용하기 전에, 원하는 디렉토리에서 터미널을 열어 샘플봇(line-bot-sdk-java)을 복사해옵니다.

$ git clone https://github.com/line/line-bot-sdk-java.git

clone을 완료하면, 해당 디렉토리에 들어가 몇 가지 변경을 하겠습니다.

1) [ line-bot-sdk-java ] 디렉토리의 Procfile 파일의 내용을 지우고 다음과 같이 변경합니다.

web: java $JAVA_OPTS -jar sample-spring-boot-kitchensink/build/libs/sample-spring-boot-kitchensink-*.jar –server.port=$PORT

2) 디렉토리 내의 [ sample-spring-boot-kitchensink/src/main/resources ] 에서 application-template.yml 파일의 이름을 application.yml로 변경하고 파일 내용 중 다음 내용을 변경합니다.

– 위 두 줄을 주석 처리 혹은 지웁니다. (저는 주석 처리 했습니다)

– 그리고 아까 Line Developers에서 생성한 채널 정보에서 확인했던 channel-token과 channel-secret을 작은 따옴표 안에 복사해 넣습니다.

– handler.path는 default로 /callback이라고 되어있지만, 원하는대로 지정하셔도 됩니다. 단, 밑에서 webhook URL을 설정할 때 자신이 지정한 path명으로 입력하면 됩니다.

샘플봇 설정은 마쳤습니다. 다음은 ngrok을 이용한 로컬 네트워크 터널링에 관한 내용입니다. 지금까지 참고한 Line Engineering의 글에서는 Heroku라는 PaaS 클라우드를 이용하여 쉽게 배포할 수 있습니다. 하지만 저는 아직 개발 단계이기 때문에, 테스트할 때마다 매번 Heroku에 프로젝트를 올려야 한다는 점이 불편해서 ngrok을 사용했습니다. 아마 개발이 완료되고 배포 단계라면 사용해도 좋을 것 같습니다.

3. ngrok을 이용한 로컬 네트워크 터널링

ngrok을 사용하기 전에 간단하게 개념을 짚고 가겠습니다.

webhook이란? Line Developers 채널 정보를 확인하는 페이지에서 Webhook 관련 설정이 있었습니다. webhook은 Hooking을 웹 환경에서 제공하는 것으로, Hooking이란 발생한 특정 event의 앞뒤에 추가로 정해진 일을 하는 것을 말합니다. webhook을 구현한 웹 애플리케이션은, 특정 작업이 수행될 때 URL에 대해 HTTP POST 방식으로 요청을 생성합니다. 이러한 기능을 수행하는 URL인 webhookURL을 등록하여 webhook을 사용합니다. 이해가 잘 가지 않지만, LINE Messenger로 예를 들어 설명하겠습니다. 사용자가 챗봇에 특정 메시지(event)를 보내면 서버는 그 메시지에 따라 기능을 수행하거나 응답을 만들어주어야(Hooking) 합니다. 그리고 이 서버는 저희가 만드는 웹 서버입니다. (라인 샘플봇에서는 sample-spring-boot-kitchensink)

이러한 webhookURL은 공개적으로 사용할 수 있는 주소를 등록해야 합니다. 즉, 로컬 주소를 사용할 수 없습니다. 하지만 ngrok을 이용한다면 로컬 네트워크 터널을 열어 외부에서 로컬에 접속 가능할 수 있도록 할 수 있습니다.

외부로부터 로컬 네트워크를 보호해주는 NAT와 방화벽 덕분에 안전한 네트워크 환경을 보장 받지만, 이로 인해 외부에서 로컬 네트워크로 바로 접속할 수 없습니다. 하지만 ngrok은 포트 포워딩과 같은 네트어크 환경 설정 변경 없이 로컬 서버를 안전한 터널을 통해 외부에서 접근할 수 있도록 돕습니다.

3.1. ngrok 설치

https://ngrok.com에 로그인하여 ngrok을 설치합니다. 설치에 딱히 어려운 점은 없습니다.

3.2. ngrok 사용

터미널을 열어 다음 명령을 실행하면, HTTP 서버를 ngrok 도메인과 연결하여 외부로 터널을 열어줍니다.

./ngrok http ‘포트 번호’

명령을 실행하면 다음과 같이 터미널 창이 바뀌며, 이 연결된 ngrok 도메인을 사용하면 됩니다.

이 때, ngrok의 Session Expire 문제로 세션이 8시간만 유지되어 8시간 후에는 다시 실행해야 하며, 다시 실행하면 도메인 주소 또한 변경됩니다. ngrok 대시보드의 Auth 탭에 들어가면 ‘Your Tunnel Authtoken’로 개인 Authtoken을 알려줍니다. 이 Authtoken과 함께 다음 명령을 실행하면 됩니다.

./ngrok http ‘포트번호’ –authtoken={Authtoken}

4. 라인 샘플봇 동작 확인

4.1. webhookURL 등록

여기까지 마쳤다면, 이제 ngrok 도메인과 샘플봇의 application.yml에서 설정한 handler.path를 가지고 webhookURL을 등록할 것입니다. LINE Developers의 채널 정보 수정 화면으로 돌아가 [ Messaging Settings ] 탭의 webhookURL을 등록합니다.

URL은 ‘ngrok도메인/handler.path’입니다. 입력하고, verify버튼을 클릭하여 Success 표시로 바뀌면 됩니다.

4.2. 샘플봇 실행

line-bot-sdk-java 디렉토리의 [ sample-spring-boot-kitchensink ] 디렉토리에서 터미널을 열어 다음 명령을 통해 실행합니다.

../gradlew bootRun

4.3. 실행 확인

친구로 등록한 챗봇과 대화창을 열고, sample-spring-boot-kitchensink에 있는 controller에서 등록된 메시지(ex : profile, buttons, bye,…)를 입력하면 샘플봇이 지정한 event에 대해 맞게 챗봇이 응답을 만들어 줍니다.

샘플봇이 잘 동작하는 것을 확인했다면, 이제 개인 프로젝트에 적용해보겠습니다.

5. Spring boot 프로젝트에 적용하기

5.1. LINE Messaging API 사용을 위한 의존성 추가

LINE Messaging API를 사용하기 위해서 gradle에 의존성을 추가합니다. 저는 gradle을 사용하지만, 메이븐 등 다른 빌드 도구를 사용하시는 분은 다음 링크를 통해 의존성을 추가하시면 됩니다.

implementation ‘com.linecorp.bot:line-bot-spring-boot:2.4.0’

https://mvnrepository.com/artifact/com.linecorp.bot/line-bot-spring-boot

5.2. application.properties에 설정 추가

샘플봇을 설정할 때 application.yml에 Channel token과 channel secret, handler-path를 설정한 것 처럼 프로젝트의 application.properties 파일에 괄호를 제외하고 설정을 추가합니다.

line.bot.channel-token={Channel-Token} line.bot.channel-secret={Channel-Secret} line.bot.handler.path=/{path}

5.3. MessageHandler 등록

빌드가 완료되면 LINE Messaging API에서 제공하는 어노테이션 등 라인 메신저와 관련된 다양한 기능을 사용할 수 있습니다.

일단 사용자가 보낸 메시지를 받아오는 MessageHandler를 작성해야 합니다.

MessageHandler 클래스를 생성하여, 다음과 같이 @LineMessageHandler 어노테이션을 선언합니다.

그리고 클라이언트의 정보를 받아오거나, 답장 등의 기능을 수행하기 위하여 LineMessagingClient도 준비합니다.

handleTextMessageEvent에 브레이크 포인트를 걸어 디버깅 모드로 실행하면, 사용자가 메시지를 보냈을 때 메시지가 들어오는 것을 확인할 수 있습니다.

하지만 저희는 메시지만 받는 것이 아니라, 특정 메시지에 맞게 기능을 수행하거나 응답을 만들어 주어야 하기 때문에 reply 메서드를 작성합니다. 이 메서드는 위의 샘플봇으로 사용한 line-bot-sdk-java 에서 참고하였습니다.

위에 작성한 reply 메서드를 이용하여, 사용자가 보낸 메시지가 들어오면 switch문을 통해 각 입력에 대해 각자 수행할 기능 처리를 하시면 됩니다. 필요에 따라 controller, service, repository 등을 호출하여 로직을 실행할 수 있습니다.

기존 프로젝트에 어제부터 챗봇을 붙이기 시작한거라 잘 모르는 부분이 많아서 정리하면서 공부하는 것을 목적으로 글을 작성했습니다. 가끔 필요한 기능이 있으면, line messaging api refernce나 샘플봇 코드를 참고하면서 기능을 확장해 나가고 있습니다.

https://developers.line.biz/en/reference/messaging-api/

아직 갈 길이 멀지만 생각보다 쉽게 적용할 수 있었던 챗봇 첫 도전이었기 때문에, 다른 분들도 쉽게 적용해보길 바랍니다. 부족한 글이지만 피드백이나 궁금한 점은 언제나 환영입니다 !

코딩 한 줄 없이 라인 봇으로 거짓말 탐지기 만들기!

안녕하세요. 챗봇을 이용한 재미있는 기능들을 연구하고 있는 LINE AFD Labs입니다. 오늘은 LINE Messaging API를 활용하여 거짓말을 탐지하는 라인 봇을 만드는 방법에 대해 살펴보겠습니다. LINE Messaging API를 이용하면 봇을 통해 사용자에게 메시지를 보낼 수도 있고, 사용자가 보낸 메시지에 응답할 수도 있습니다. API에서 제공하는 샘플 봇을 이용하면 코딩 한 줄 없이 손쉽게 봇을 만들 수 있는데요. 먼저, 거짓말을 탐지하는 라인 봇이 어떻게 동작하는지 화면으로 살펴보겠습니다.

여러분, 뭔가 이상한 점을 눈치 채셨나요?

짜잔! 4월 1일 만우절 이벤트였습니다. 제가 속한 AFD Labs의 AFD는 사실 April Fool’s Day였답니다. 비록 우리가 거짓말 탐지기는 만들 수 없지만, 샘플 봇으로 코딩 한 줄 없이 라인 봇을 만들 수는 있습니다. 아쉬워할 여러분을 위해 라인 봇을 만들 때 도움이 될만한 유용한 문서들을 소개합니다.

LINE Messaging API Document

LINE Messaging API를 더욱 쉽게 사용할 수 있도록 제공하는 개발자 가이드입니다. (링크)

LINE Messaging API 사용해보기

한국의 테크니컬 라이터 손근 님이 작성하신 LINE Messaging API 사용 가이드입니다. (링크)

LINE Developers-Bot Designer

프로그래밍 지식이 없더라도 라인 봇과의 대화를 미리보기로 확인할 수 있는 라인 봇 디자이너입니다. (링크)

Bot Designer를 이용한 챗봇과의 대화 미리보기

일본 Developer Relations팀의 Nakajima 님이 작성하신 라인 봇 디자이너 사용 가이드입니다. 봇 디자이너를 언제 사용하면 좋은지 소개합니다. (링크)

Node.js와 헤드리스 크롬으로 크롤링을 챗봇에 적용해보자

Node.js와 헤드리스 크롬으로 챗봇에 크롤링을 적용하는 예시를 다룬 글입니다. (링크)

마치며

만우절을 맞이해 소소한 이벤트를 준비해 보았는데, 라인 엔지니어링 블로그의 독자들께서도 즐거우셨으면 좋겠네요! 비록 거짓말 탐지기 봇은 가짜였지만, 다양하고 재미있는 여러분만의 라인 봇을 만들어 보시면 좋을 것 같습니다. 감사합니다.

[Python] 라인(LINE) 메신저로 알림봇 만들기

728×90

대부분 알림을 받는 모니터링 채널로

Slack Webhook, 카카오톡, 텔레그램등을 활용하고 있는데요.

이번에는 주로 사용하는 메신저인 ‘LINE’으로

알림봇 서비스를 만들 수 있는지 궁금해서 찾아봤는데

LINE Notify를 활용하여 Notification 서비스를 구현할 수 있다고 해서

이번 기회에 한번 테스트 해볼까 합니다 : )

1. LINE 계정 확인하기

– 우선 LINE 앱에서 [더보기] > [설정] > [계정]을 선택 합니다.

– 계정에 [이메일]과 [비밀번호]를 설정 합니다. (비밀번호를 잊은 경우 다시 등록해주시면 됩니다)

2. LINE Notify 로그인하기

– LINE Notify 사이트 접속(https://notify-bot.line.me)합니다.

– 1번에서 설정한 [이메일] 계정과 [비밀번호]로 로그인해주시면 됩니다.

3. 그룹 채팅방 만들기

– LINE 메신저에 아래와 같이 알림 메시지를 받을 [그룹채팅방]을 생성 한 후

– LINE Notify를 친구로 초대 합니다.

– 혹시 친구로 선택할 수 없다면 모바일 브라우저에서 LINE Notify 사이트 접속 후

– [Add as a friend] 버튼을 클릭하면 공식 계정이 자동으로 추가 됩니다.

4. Access Token 생성하기

– 모바일 메신저 내 ‘그룹 채팅방 생성’ 및 ‘LINE Notify’ 친구 초대가 완료되었다면

– 다시 웹사이트로 접속하여 우측 상단의 아이디를 클릭합니다.

– [My page]를 클릭한 후 ‘Generate access token’을 생성 해줍니다.

– Token명을 입력한 후 메세지가 전송될 ‘그룹 채팅방’ 채널명을 선택 합니다.

– 아래와 같이 정상적으로 ‘Token’이 생성이 완료된 것을 확인할 수 있습니다.

– 창을 종료하기 전에 꼭 [Copy] 버튼을 클릭한 후 별도로 저장 해 주세요!!

5. 서비스 연결 확인

– ‘Connected services’ 영역 내 ‘100SANGBOT’이 ‘알림봇’ 그룹 채팅방에 정상적으로 연결 완료된 것을 확인할 수 있습니다.

6. API 메시지 전송 테스트

– 아래 notification API를 참고하여 메시지 전송 테스트를 진행합니다.

– 간단하게 아래와 같이 Python 코드를 활용하여 테스트 하였습니다.

[line-notify-bot.py]

import requests def main(): try: api_url = ‘https://notify-api.line.me/api/notify’ token = ‘access token’ response = requests.post( api_url, headers = { ‘Authorization’:’Bearer ‘ + token }, data = { ‘message’ : ‘모니터링 테스트입니다’ } ) except Exception as ex: print(ex) if __name__ == “__main__”: main()

– 파일 실행 후 ‘100SANGBOT’으로 그룹 채팅방에 정상적으로 메세지가 전송된 것을 확인할 수 있습니다.

* 참고로, Access Token(ex.100SANGBOT)은 한번 생성 후 수정이 불가능하기 때문에

DISCONNECT 후 4번의 과정을 다시 진행해 주셔야 합니다. 당연히 Token 값도 바뀌겠죠?!

LINE Notify API 가이드는 아래 페이지를 참고해주세요.

https://notify-bot.line.me/doc/en/

728×90

라인(LINE) LINE Message API 챗봇 만들기

라인(LINE) LINE Message API 챗봇 만들기

안녕하세요. AkibaTV입니다.

이번에 소개할 내용은 라인(LINE) LINE Message API 챗봇 만들기 입니다.

라인(LINE) Message API 개발자 등록하기에 이어서

본격적으로 라인 챗봇을 만드는 방법을 알아 보도록 하겠습니다.

텔레그램 챗봇에 이어 라인 챗봇까지 만드는 방법을 알게 되시면

누구나 쉽게 챗봇을 만드실수가 있게 됩니다.

라인 챗봇을 만들기 위해 PHP를 이용해서 메세지를 보내보도록 하겠습니다.

Visual Studio Code(비주얼 스튜디오 코드)로 실행하신후 line_webhook.php로 파일을 추가해 주시기 바랍니다.

추가를 하셨으면 아래와 같이 코딩을 해주시기 바랍니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

$json_string = file_get_contents( ‘php://input’ );

$jsonObj = json_decode( $json_string );

$type = $jsonObj ->{ “events” }[ 0 ]->{ “message” }->{ “type” };

$text = trim( $jsonObj ->{ “events” }[ 0 ]->{ “message” }->{ “text” });

$replyToken = $jsonObj ->{ “events” }[ 0 ]->{ “replyToken” };

$userId = $jsonObj ->{ “events” }[ 0 ]->{ “source” }->{ “userId” };

if ( $type != “text” ){

exit ;

}

$apiUrl = “https://api.line.me/v2/bot/message/reply” ;

$accessToken = “Line 토큰정보” ;

$messages = array (

‘type’ => ‘text’ ,

‘text’ => ‘알수없는 명령어 입니다.’

);

if (! empty ( $text )) {

if ( $text == “하이” || $text == “안녕” ) {

$snedMessage = “안녕하세요. AkibaTV입니다.” ;

} else if ( $text == “도움말” ) {

$snedMessage = “도움말 입니다.

” ;

$snedMessage .= “현재 사용가능한 명령어는

” ;

$snedMessage .= “하이, 안녕, 도움말이 있습니다.

” ;

} else {

$snedMessage = “등록 되어있지 않은 명령어 입니다.” ;

}

$messages [ ‘text’ ] = $snedMessage ;

}

if (! empty ( $messages )) {

$post_data = [

“replyToken” => $replyToken ,

“messages” => [ $messages ]

];

$ch = curl_init( $apiUrl );

curl_setopt( $ch , CURLOPT_POST, true );

curl_setopt( $ch , CURLOPT_CUSTOMREQUEST, ‘POST’ );

curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true );

curl_setopt( $ch , CURLOPT_POSTFIELDS, json_encode( $post_data ));

curl_setopt( $ch , CURLOPT_HTTPHEADER, array (

‘Content-Type: application/json; charser=UTF-8’ ,

‘Authorization: Bearer ‘ . $accessToken

));

$result = curl_exec( $ch );

curl_close( $ch );

}

실제로 제대로 동작을 하는지 확인을 해보도록 하겠습니다.

라인봇을 동작하기 위해선 웹훅을 올려놓을 서버가 반듯이 https를 지원하는 서버이어야만 합니다.

저의 경우 웹호스팅 서버가 https를 지원하기에 웹호스팅 서버에 올려놓도록 하겠습니다.

라인 개발자 페이지에 로그인을 해주시기 바랍니다.

Messaging API탭으로 이동을 하신후 스크롤을 해주시면

Webhook setting이 나오게 됩니다. 그럼 Webhook URL의 Edit버튼을 눌러주시고

line_webhook.php을 작성하신 URL을 적어주시면 되겠습니다.

그리고 Update버튼을 눌러주시기 바랍니다.

Verity버튼을 눌러서 등록하신 URL이 정상 작동하는지 체크를 합니다.

Success가 나오면 문제없이 작동하고 있는것 입니다.

Use webhook을 활성화 시켜주셔서 웹훅을 사용가능하게 변경해 줍니다.

Channal access token입니다만 이것은 코딩을 하실때 여기에 나오는 억세스 토큰을 입력해 주시기 바랍니다.

위의 과정까지 다 하셨으면 일단 모든 과정은 끝났습니다.

실제 라인에서 동작 확인을 해보도록 하기 위해서

위에 QR코드를 이용해서 친구 등록을 해주시면 아래와 같이 챗봇의 채팅방이 개설이 됩니다.

채팅방이 개설이 된후 채팅방으로 들어가시면

위와같이 기본 환영 메세지가 나오게 됩니다.

코딩시에 등록한 명령어들을 입력을 하시면 위와같이 챗봇이 반응을하고

답변을 주는 형태로 되어 있습니다.

일본어로 나오는 메세지에 대해서는 설정문제로 계속 나옵니다만

문제가 해결되면 해결방안에 대해서 설명을 올리도록 하겠습니다.

【RE:】단톡방용 라인 챗봇 만들기①

📑요약

📌토큰, API 키 등 Github에 올라가면 안되는 내용을 숨기고 커밋, 푸쉬하기

🔨오늘의 삽질

📝지난번 포스팅에서 샘플봇의 기동까지 확인했었는데요, 기껏 기동시킨 봇의 언어가 파이썬이 아니라서 처음부터 다시 시작해야한다는 문제가 발생하면서 끝났었습니다. 그 이후로 개인적으로도 일도 많고 바빠서 겨우 다시 손댈 짬이 생겼는데, 시간도 오래지나서 뭘 했었는지 다 까먹은데다가 처음부터 다시해야해서 여러모로 원점회귀가 되어버렸습니다. 오늘도 순조롭지않은 시작이지만 자업자득이라 어쩔 수가 없습니다. 기왕 처음으로 돌아간 기념으로 파이썬으로 라인봇을 만들 세팅부터 자세하게 진행해볼게요.

🔎 아래 두 링크는 제일 많이 들락날락거리게 될 곳이니 미리미리 즐겨찾기 찍어둡시다.

LINE 공식 Messaging API SDK (파이썬) github.com/line/line-bot-sdk-python

LINE 공식 Messaging API 문서 developers.line.biz/ja/docs/messaging-api/

🔎 먼저 pip로 라인봇을 인스톨 해줍시다.

1 $ pip install line – bot – sdk cs

🔎 깃헙의 README를 보면 Installation 바로 밑에 Synopsis가 있습니다. 우선 여기 있는 코드를 복붙해서 main.py 파일로 만들어줍니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 from flask import Flask, request, abort from linebot import ( LineBotApi, WebhookHandler ) from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( ‘YOUR_CHANNEL_ACCESS_TOKEN’ ) handler = WebhookHandler( ‘YOUR_CHANNEL_SECRET’ ) @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: print ( “Invalid signature. Please check your channel access token/channel secret.” ) 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() Colored by Color Scripter cs

그리고 여기서 잠깐, 본격적으로 봇을 만들어가기 전에 준비해야 할 것이 있습니다.

관리자 계정이 만들어져있고 액세스 키, 토큰을 발급받았는지✔

Heroku의 계정이 있는지✔

당연한 말이지만 여기서 발급받은 액세스 키와 토큰은 타인에게 노출되어서는 안됩니다. 현재 노마드코더에서 파이썬(Django)를 이용한 에어비앤비 클론 강의를 수강하고 있는데요. 아무생각 없이 쟝고의 키를 발급받아 복붙해넣은 파일을 고대로 깃헙에 올렸다니 깃헙에서 칼같이 메일이 날라왔었습니다. 대충 “우리가 님 푸쉬내용 중에서 쟝고 액세스 토큰 비슷한걸 감지했는데 이대로 ㄱㅊ?” 하는 내용의 메일이었네요. 클론하는 과정이라 해킹당하던 말던 별로 상관도 없는 내용이라 그 때는 별로 신경쓰지않고 넘겼지만, 지금 진행하는 라인봇같은 경우 개인적인 용도로 사용하고 개인 계정과도 이어져있습니다. 이 토큰이 깃허브에 그대로 공개되면 곤란하기 때문에 오늘은 가장 먼저 토큰을 숨기고 커밋, 푸쉬를 하는 방법부터 찾아보았습니다.

🔎 프로젝트 파일의 루트에 config.py 파일을 만들고 API 키와 토큰 등을 여기에다가 적어줍니다. 이 시점에서 요구되는 토큰은 요 두가지가 있네요. 채널 엑세스 토큰은 [개발자 콘솔 → Messaging API설정 화면의 가장 하단] 에서, 채널 시크릿은 [개발자 콘솔 → 채널 기본 설정]에서 발급받을 수 있습니다.

요렇게 작성해줍시당

🔎 config.py의 작성이 끝났다면 main.py에 config파일을 추가하고, 14,15행에 변수로 토큰을 입력합니다.

1 import config cs

1 2 line_bot_api = LineBotApi(config.CHANNEL_ACCESS_TOKEN) handler = WebhookHandler(config.CHANNEL_SECRET) cs

🔎 마지막으로 gitignore파일을 만들어서 config파일이 커밋되지 않도록 합니다. 겸사겸사 파이썬의 기본적인 gitignore 목록들도 같이 복붙해줍시다.

마지막 줄에 config.py를 추가하면 준비 끝!

키워드에 대한 정보 라인 봇 만들기

다음은 Bing에서 라인 봇 만들기 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기

  • #라인
  • #챗봇
  • #스팸봇
  • #파이썬
  • #중딩개발자

중딩의 #봇 #만들기 #드디어 # #완성인가!? #라인 #스팸봇 #소개하기


YouTube에서 라인 봇 만들기 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 중딩의 봇 만들기 드디어 완성인가!? 라인 스팸봇 소개하기 | 라인 봇 만들기, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  쉬운 숨은 그림 찾기 | 하마가 아파서 병원에 왔어요ㅜㅜㅣ압정, 벌레, 사탕 찾기!ㅣ숨은 그림 찾기ㅣ쉬운 버전|Tv유치원ㅣKbs 방송 상위 112개 베스트 답변

Leave a Reply

Your email address will not be published. Required fields are marked *