놀랄 만큼 쉽고 믿기 힘들 만큼 간단합니다
사용법은 DB.js에 보시면 잘 설명되어 있어요
AGPL 라이선스 사용
npm install
#api2로 빌드
npm run build-api2
#api2레거시로 빌드
npm run build-legacy
#custom으로 빌드(리스너 직접 달아야 합니다)
npm run build-custom
/**
* 알림바 함수
*/
function onNotification(sbn, rm) {
DBListener.addChannel(sbn);
}
/**
* 알림바 왔을 떄 채널리스트 추가하기
*/
bot.addListener(Event.NOTIFICATION_POSTED, onNotification);
/**
* 컴파일 시 자동 종료
*/
bot.addListener(Event.START_COMPILE, () => {
DBListener.stop();
});
/**
* 알림바 왔을 떄 채널리스트 추가하기
*/
function onNotificationPosted(sbn) {
DBListener.addChannel(sbn);
}
/**
* 컴파일시 자동 종료
*/
function onStartCompile() {
DBListener.stop();
}
마지막으로 dist/DB.js를 쓰시면 됩니다
또한 모듈은 modules/DBManager를 통채로 메신저봇 모듈 파일로 옮기면 됩니다.
메시지가 왔을 때 반응을 합니다
DBListener.on("message", (chat, channel) => {
if(chat.text ==="hello"){
channel.send("greeting")
}
})
누군가 오픈챗에 들어오면 반응합니다
DBListener.on("join", (chat, channel) => {
channel.send(chat.joinUsers[0].nickName+"님 안녕하세요")
})
누군가 단체방에서 초대하면 반응합니다
DBListener.on("join", (chat, channel) => {
channel.send(chat.inviteUser.nickName+"님이"+ chat.invitedUsers.map((e)=>e.nickName).join(",")+"님을 초대했습니다")
})
누군가 단체방(오픈챗 포함)을 나갈 때 반응합니다
DBListener.on("leave", (chat, channel) => {
channel.send(chat.leaveUser.nickName + "님 잘가요");
});
누군가 강퇴당하면 반응합니다
DBListener.on("kick", (chat, channel) => {
channel.send(chat.kickedBy.name + "님이 " + chat.kickedUser.nickName + "님을 강퇴했습니다")
})
누군가 메시지를 지우면 반응합니다
DBListener.on("delete", (chat, channel) => {
channel.send(chat.deletedChat.text+ "메시지가 지워졌어요");
})
누군가 메시지를 가리면 반응합니다
아직 구현 안된게 몇개 있어요.....
DBListener.on("hide", (chat, channel) => {
})
방장 부방장이 바뀌면 반응해요
is메소드로 타입을 구분할 수 있어요
DBListener.on("member_type_change", (chat, channel) => {
if(chat.isDemote()){
channel.send(chat.demoteUser.nickName+"님이 부방장에서 내려왔어요")
}
else if(chat.isPromote()){
channel.send(chat.promoteUser.nickName+"님이 부방장이 되었어요")
}
else if(chat.isHandover()){
channel.send(chat.newHost.nickName+"님이 새 방장이 되었어요");
}
})
메신저봇 전용이에요
채자봇은 할 줄 몰라서 보류
#예시
npm run compile katalkbot DB
# 봇저장소가 katalkbot 봇이름은 DB