Best android open-source packages and libraries.

KakaoTalkBotBaseModule

Android KakaoTalk bot application development helper.
Updated 9 months ago

💬 KTBBM

Android KakaoTalk bot application development helper.


🙋 KTBBM가 뭔가요?

KTBBMKakaoTalkBotBaseModule의 약자로, 카카오톡 봇 어플리케이션 개발을 위한 도우미 라이브러리 입니다.

📥 다운로드 maven-central

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, "ㅎㅇㅎㅇ!")
    }
}

람다식으로 추가하게 되면, onBotCreateonBotDestroy는 이용하실 수 없습니다.

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 라이선스를 따릅니다.

여기를 확인해 주세요.

🤗 Happy Coding :)

Tags bot