botpress의 채널 모듈 제작 방법(1)
개요
사용자 정의 모듈을 만들면botpress[1]는 분배 가능한 형식으로 기능을 추가하거나 확장할 수 있습니다.본고는 사용자 정의 모듈로 Botpress가 외부에서 메시지를 받는 메시지 채널[2]을 만드는 방법을 총괄하였다.
사용한botpress 버전은 v12입니다.21.0
이 기사를 읽었어요.
원래 botpress는?
채팅방을 구축하는 플랫폼[3]이다.개발 프레임워크도 모듈을 통해 기능을 추가할 수 있다.
다음 책은 일본어 중에서 가장 추천합니다.(4장 이후 botpress로 챗봇 만들기 설명)
Chatbot Today
샘플 모듈
마지막으로 HTTP를 통해 외부 시스템에서 정보를 받아botpress에서 생성한 응답 메시지를 간단하게 되돌려주는 모듈을 제작한다.
미리 준비하다
botpress 동작을 모듈 동작을 확인할 수 있는 환경을 준비합니다.
참조소스 코드 분석 환경 구조 - Botpress 상세 설명(2)v12.21.0으로 시작하십시오.
템플릿에서 모듈 만들기
여기서부터 clone botpress 내의 디렉터리에서 작업을 시작합니다.공식 맞춤형 모듈의 제작 방법[4]을 참고하여 맞춤형 모듈을 제작한다.
botpress의 원본 코드에 있는botpress/examples/module/templates에서 모듈을 만들 때의 모형이 있기 때문에botpress/modules 디렉터리 아래로 복사합니다.
# channel-simple-httpという名称でコピー
cp -r examples/module-templates/basic-module modules/channel-simple-http
cd modules/channel-simple-http
모듈 카탈로그 구조
모형의 목록 구성을 시험해 보다.
공식Module Structure으로는 최소한의 구성이다.
이번에 수정된 것은 패키지입니다.json, src/backend/index.ts의 파일 두 개.
ModuleEntry Point 객체
모듈은 sdk여야 합니다.ModuleEntryPoint 객체를 내보내고botpress에 모듈 정보를 전달해야 합니다.ModuleEntry Point의 정의는 여기.입니다.
대체적인 메타데이터 설정과 처리 프로그램 설정 두 개만 누르면 시작할 수 있습니다.
메타데이터 설정
definition 속성에 모듈의 메타데이터를 설정합니다.
프로세서 설정
onServerStarted, onServer Ready 등 미리 결정된 시간에 botpress 측은 모듈을 호출하기 때문에 호출할 곳을 설정합니다.
실용적인 모듈을 만들 때 처리 프로그램의 매개 변수를 사용하여 전달하는 sdk의 API가 무엇을 하는지가 중점이다.
템플릿은 다음과 같습니다. 최소한 메타데이터와 프로세서가 설정한 상태입니다.
examples/module-templates/basic-module/src/backned/index.ts
import * as sdk from 'botpress/sdk'
const onServerStarted = async (bp: typeof sdk) => {}
const onServerReady = async (bp: typeof sdk) => {}
const entryPoint: sdk.ModuleEntryPoint = {
onServerStarted,
onServerReady,
definition: {
name: 'basic-module',
menuIcon: 'none',
menuText: 'BasicExample',
noInterface: false,
fullName: 'BasicExample',
homepage: 'https://botpress.com'
}
}
export default entryPoint
모듈 생성 및 구축
name, fullName, description 속성을 변경합니다.
+++ package.json 2021-05-01 15:08:04.000000000 +0900
@@ -1,7 +1,8 @@
{
- "name": "basic-module",
+ "name": "channel-simple-http",
+ "fullName": "Channel - simple http",
"version": "1.0.0",
- "description": "",
+ "description": "simple http channel",
"private": true,
"main": "dist/backend/index.js",
"author": "Botpress, Inc.",
모듈이botpress에서 호출되고 실행되었는지 확인하기 위해 컨트롤러에 메시지를 보내는 것으로 수정되었습니다.src/backend/index.ts
import * as sdk from 'botpress/sdk'
-const onServerStarted = async (bp: typeof sdk) => {
- console.log("simple httpのonServerStarted")
-}
-
-const onServerReady = async (bp: typeof sdk) => {
- console.log("simple httpのonServerReady")
-}
+const onServerStarted = async (bp: typeof sdk) => {}
+const onServerReady = async (bp: typeof sdk) => {}
const entryPoint: sdk.ModuleEntryPoint = {
onServerStarted,
onServerReady,
definition: {
- name: 'channel-simple-http',
+ name: 'basic-module',
menuIcon: 'none',
- menuText: 'Channel SimpleHTTP',
- noInterface: true,
- fullName: 'Channel SimpleHTTP',
+ menuText: 'BasicExample',
+ noInterface: false,
+ fullName: 'BasicExample',
homepage: 'https://botpress.com'
}
}
yarn build
동작 확인
모듈 화면으로 이동, 모듈 확인 동작 활성화
메뉴의 Modules 화면, package로 이동합니다.json으로 편집된 모듈의 이름과 설명을 표시하고 단순 http 모듈을 추가합니다.
사용 안 함으로 설정되었으므로 추가된 모듈을 사용하려면 스위치를 뒤집습니다.
참고 자료
Developer Stack to Build Chatbots | Botpress ↩︎
Botpress는 외부에서 메시지를 받는 경로를 Messageing Channes로 사용합니다.
Messaging Channels · | Developer's Guide
모듈은 마이크로소프트 팀스, 슬랙 등 표준 메일을 받을 수 있는 채널을 실현했다.↩︎
About Botpress ↩︎
Custom Module · | Developer's Guide ↩︎
Reference
이 문제에 관하여(botpress의 채널 모듈 제작 방법(1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/mkanashiro/articles/1643bddd8dc696f6321b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)