💬 KTBBM
Android KakaoTalk bot application development helper.
KTBBM
가 뭔가요?
🙋 KTBBM
은 KakaoTalkBotBaseModule
의 약자로, 카카오톡 봇 어플리케이션 개발을 위한 도우미 라이브러리 입니다.
📥 다운로드
implementation 'io.github.jisungbin:ktbbm:${version}'
📚 사용법
1. 봇 인스턴스 생성
val bot = KakaoBot()
2. 봇 리스너 추가
bot.setBotListener(object : NotificationListener {
override fun onMessageReceive(
sender: String,
message: String,
room: String,
isGroupChat: Boolean,
action: Notification.Action,
profileImage: Bitmap,
notificationImage: Bitmap?,
bot: KakaoBot,
) {
if (message == "ㅎㅇ") {
bot.reply(action, "ㅎㅇㅎㅇ!")
}
}
override fun onBotCreate(bot: KakaoBot) {
bot.enableBackgroundService() // optional: 봇이 안정적으로 오랫동안 빠르게 작동되기 위해 필요합니다.
}
override fun onBotDestroy(bot: KakaoBot) {
bot.disableBackgroundService() // optional: `bot.enableBackgroundService()` 을 사용했을 경우에, 서비스 종료를 위해 필요합니다.
}
})
2-1. 또는 람다식으로 추가
bot.setMessageReceiveListener { sender, message, room, isGroupChat, action, profileImage, notificationImage, bot ->
if (message == "ㅎㅇ") {
bot.reply(action, "ㅎㅇㅎㅇ!")
}
}
람다식으로 추가하게 되면, onBotCreate
와 onBotDestroy
는 이용하실 수 없습니다.
3. 추가 설정
3-1. 봇 속도 최적화
봇이 빠르게 작동하기 위해선 KTBBM
을 백그라운드애서 실행시켜주어야 합니다.
2. 봇 리스너 추가
단계의 소스코드 주석을 확인해 주세요.
이때 배터리 사용량이 늘어날 수 있습니다.
3-2. 배터리 최적화 제외
KTBBM
에 배터리 최적화가 진행되면, 봇 응답이 멈출 수 있습니다.
내장된 BatteryUtil
을 사용하여, 이를 제어할 수 있습니다.
BatteryUtil.isIgnoringBatteryOptimization(context: Context): Boolean // 배터리 최적화 제외가 적용됐는지 확인합니다.
BatteryUtil.requestIgnoreBatteryOptimization(context: Context) // 배터리 최적화에서 제외시킵니다.
4. 기타 메서드
KakaoBot.setPower(power: Boolean): KakaoBot // 봇의 전원을 설정합니다. (전원 기본값: true)
KakaoBot.replyRoom(room: String, message: String, roomNotFoundException: Exception.() -> Unit = {}, replyException: Exception.() -> Unit = {}) // ${room} 이라는 이름을 가진 방으로 ${message} 를 전송합니다. (전송할 방으로 부터 최소 한 번 이상 메시지가 왔어야 합니다)
⚠️ 필수 설정
기본적으로 카카오톡 봇이 동작하기 위해선, 알림 읽기 권한과 안드로이드 웨어 앱이 필요합니다.
알림 읽기 권한 설정
알림 읽기 권한 설정은 내장된 NotificationUtil
을 사용하여 제어할 수 있습니다.
NotifiactionUtil.checkListenerPermission(context: Context): Boolean // 알림 읽기 권한이 부여됐는지 확인합니다.
NotifiactionUtil.requestListenerPermission(context: Context) // 알림 읽기 권한을 부여합니다.
안드로이드 웨어 설치
안드로이드 웨어 관련 작업을 내장된 Wear
유틸을 통해 진행할 수 있습니다.
Wear.checkInstalled(context: Context): Boolean // 안드로이드 웨어가 설치돼 있는지 확인합니다.
Wear.install(context: Context) // 안드로이드 웨어를 설치합니다.
📖 라이선스
KTBBM
은 MIT 라이선스를 따릅니다.
여기를 확인해 주세요.