API2

API2는 최근에 공개된 내장 API로, 레거시 API보다 더 체계적인 구조로 되어 있습니다. 카카오톡봇의 지원은 API2를 중심으로 이루어질 예정입니다.

객체

App

App 객체는 봇 구동 앱에 관한 기능들을 담고 있는 객체입니다.

App 객체의 프로퍼티 / 메소드
android.content.Context

getContext()
앱의 Context(컨텍스트)를 반환합니다.

반환값

앱의 Context

void

runOnUiThread(task: () => Any, onComplete: (error, result) => Any)
UI쓰레드 상에서 특정 함수를 실행합니다.

매개변수

task: UI쓰레드 상에서 실행할 함수
complete: 결과를 처리할 함수

  • error: task함수 실행 도중 일어난 에러의 객체를 전달받는 인자
  • result: task함수의 반환값을 전달받는 인자

Bot

Bot 객체는 카카오톡봇을 소스 코드 상에서 카카오톡봇을 개념화하는 객체입니다.

Bot 객체의 프로퍼티 / 메소드
void

setCommandPrefix(prefix: String)
카카오톡봇 명령어의 접두어를 설정합니다.

매개변수

prefix: 카카오톡봇 명령어의 접두어로 설정할 값

Boolean

send(room: String, msg: String, packageName?: String = null)
특정 방에 메시지를 보냅니다. 메시지를 보낼 방에 대한 세션의 존재 여부를 반환합니다.

반환값

room 방에 대한 세션이 존재할 경우 true, 존재하지 않을 경우 false

매개변수

room: 메시지를 보낼 방 이름
msg: 보낼 메시지의 내용
packageName?: 메시지를 보낼 메신저 앱의 패키지명

Boolean

canReply(room: String, packageName?: String = null)
특정 방에 메시지를 발신할 수 있는지의 여부를 반환합니다.

반환값

room 방에 메시지를 발신할 수 있을 경우 true, 발신할 수 없을 경우 false

매개변수

room: 메시지 발신 가능 여부를 확인할 방의 이름
packageName?: 메시지 발신 가능 여부를 확인할 방이 소속한 메신저 앱의 패키지명

String

getName()
카카오톡봇의 이름을 반환합니다.

반환값

카카오톡봇의 이름

void

setPower(power: Boolean)
스크립트의 활성화 여부를 제어합니다.

매개변수

power: 스크립트의 활성화 여부

Boolean

getPower()
스크립트의 활성화 여부를 반환합니다.

반환값

스크립트가 활성화 상태일 경우 true, 비활성화 상태일 경우 false

void

compile()
스크립트를 컴파일합니다.

void

unload()
스크립트를 컴파일 전 상태로 전환(언로드)합니다.

void

on(eventName: String, listener: () => Any)
addListener(eventName: String, listener: () => Any)
특정 이벤트에 대한 이벤트 리스너를 리스너 리스트의 마지막에 추가합니다.

매개변수

eventName: 리스너를 추가할 이벤트명
listener: 추가할 이벤트 리스너

void

off(eventName: String, listener?: () => Any)
removeListener(eventName: String, listener?: () => Any)
특정 이벤트에 대한 이벤트 리스너를 제거합니다. listener 인자가 없을 경우 리스너 이벤트의 마지막 리스너를 제거합니다.

매개변수

eventName: 리스너를 제거할 이벤트명
listener?: 제거할 이벤트 리스너

void

removeAllListeners(eventName: String)
특정 이벤트에 대한 모든 이벤트 리스너를 제거합니다.

매개변수

eventName: 모든 이벤트 리스너를 제거할 이벤트

void

prependListener(eventName: String, listener: Function)
특정 이벤트에 대한 이벤트 리스너를 리스너 리스트의 첫번째에 추가합니다.

매개변수

eventName: 리스너를 추가할 이벤트명
listener: 추가할 이벤트 리스너

Array<Function>

listeners(eventName: String)
특정 이벤트에 대한 모든 이벤트 리스너를 배열로 반환합니다.

반환값

eventName 이벤트의 모든 이벤트 리스너가 담긴 배열

매개변수

eventName: 반환될 모든 이벤트 리스너의 이벤트명

Boolean

markAsRead(packageName?: String)
메시지가 온 채팅방의 메시지를 읽음 처리합니다. 방에 대한 알림 읽기 세션을 찾을 수 있는지의 여부를 반환합니다.

반환값

메시지가 온 방에 대한 알림 읽기 세션을 찾을 수 있을 경우 true, 찾을 수 없을 경우 false

매개변수

packageName?: 메시지를 읽음 처리할 메신저 앱의 패키지명

Boolean

markAsRead(room: String, packageName?: String)
특정 채팅방의 메시지를 읽음 처리합니다. 방에 대한 알림 읽기 세션을 찾을 수 있는지의 여부를 반환합니다.

반환값

room 방에 대한 알림 읽기 세션을 찾을 수 있을 경우 true, 찾을 수 없을 경우 false

매개변수

room: 메시지를 읽음 처리할 채팅방의 이름
packageName?: 메시지를 읽음 처리할 메신저 앱의 패키지명

BotManager

BotManager 객체는 Bot 객체를 관리/보조해주는 객체입니다.

BotManager 객체의 프로퍼티 / 메소드
Bot

getCurrentBot()
스크립트에 할당된 Bot 객체를 반환합니다.

반환값

스크립트에 할당된 Bot 객체

Bot

getBot(botName: String)
특정 Bot 객체를 반환합니다.

반환값

botName을 이름으로 하는 Bot 객체

매개변수

botName: 반환받을 Bot 객체의 이름

Array<String>

getRooms(packageName?: String)
메신저 앱에서 받은 메시지의 방 이름을 배열로 반환합니다.

반환값

packageName 인자가 존재할 경우: packageName의 메신저 앱에서 받은 메시지의 방 이름
packageName 인자가 존재하지 않을 경우: 모든 메신저 앱에서의 방 이름

매개변수

packageName?: 메시지가 발신된 방들의 메신저 앱 패키지명

Array<Bot>

getBotList()
모든 Bot 인스턴스를 배열로 반환합니다.

반환값

모든 Bot 인스턴스를 모은 객체

Boolean

getPower(botName: String)
특정 Bot의 활성화 여부를 반환합니다.

반환값

botNameBot이 활성화 상태일 경우 true, 비활성화 상태일 경우 false

매개변수

botName: 활성화 여부를 확인할 Bot 객체의 이름

void

setPower(botName: String, power: Boolean)
특정 Bot의 활성화 여부를 제어합니다.

매개변수

botName: 활성화 여부를 제어할 Bot 객체의 이름
power: 활성화 여부

Boolean

compile(botName: String, throwOnError?: Boolean = false)
특정 Bot을 컴파일합니다. throwOnError의 값이 true일 경우 컴파일 에러 시 에러를 throw합니다.

반환값

botNameBot 컴파일에 성공할 경우 true, 실패할 경우 false

매개변수

botName: 컴파일할 Bot의 이름
throwOnError?: 컴파일 에러 시 에러 throw 여부

void

compileAll()
모든 Bot을 컴파일합니다.

Number

prepare(scriptName: String, throwOnError?: Boolean = false)
Bot이 한번도 컴파일된 적이 없을 경우 컴파일합니다. throwOnError의 값이 true일 경우 컴파일 에러 시 에러를 throw합니다.

반환값

컴파일에 실패할 경우: 0
컴파일에 성공할 경우: 1
컴파일된 적이 있을 경우: 2

매개변수

scriptName: 컴파일할 Bot의 이름
throwOnError?: 컴파일 에러 시 에러 throw 여부

Number

prepare(throwOnError?: Boolean = false)
Bot에 대하여 prepare()를 실행합니다. 새롭게 컴파일된 Bot의 개수를 반환합니다. throwOnError의 값이 true일 경우 컴파일 에러 시 에러를 throw합니다.

반환값

새롭게 컴파일된 Bot의 개수

매개변수

throwOnError?: 컴파일 에러 시 에러 throw 여부

Boolean

isCompiled(botName: String)
특정 Bot의 컴파일 완료 여부를 반환합니다.

반환값

botNameBot의 컴파일이 완료된 경우 true, 완료되지 않은 경우 false

매개변수

botName: 컴파일 완료 여부를 확인할 Bot의 이름

void

unload()
Bot을 컴파일 전 상태로 전환(언로드)합니다.

Broadcast

Broadcast 객체는 다른 스크립트 간의 데이터 교류를 지원하는 객체입니다.

Broadcast 객체의 프로퍼티 / 메소드
void

send(broadcastName: String, value: Any)
모든 스크립트를 대상으로 특정 값을 브로드캐스트합니다.

매개변수

broadcastName: 브로드캐스트 이름
value: 브로드캐스트으로 송출할 값 (register()의 인자 task의 인자로 주어짐.)

void

register(broadcastName: String, task: (value) => Any)
특정 브로드캐스트에 대한 리스너를 추가합니다.

매개변수

broadcastName: 리스너를 추가할 브로드캐스트 이름
task: 리스너로 추가할 함수

  • value: 특정 브로드캐스트을 통해 송출된 값
void

unregister(broadcastName: String, task: Function)
특정 브로드캐스트에 대한 특정 리스너를 제거합니다.

매개변수

broadcastName: 특정 리스너를 제거할 브로드캐스트 이름
task: 제거할 리스너

void

unregisterAll()
브로드캐스트에 등록된 모든 리스너를 제거합니다.

Database

Database 객체 스크립트 로컬 폴더의 /Database 폴더 내 데이터 조작에 관한 객체입니다.

Database 객체의 프로퍼티 / 메소드
Boolean

exists(fileName: String)
특정 이름의 파일이 존재하는지의 여부를 반환합니다.

반환값

fileName 파일이 존재할 경우 true, 존재하지 않을 경우 false

매개변수

fileName: 파일의 존재 여부를 확인할 파일의 이름

Object

readObject(fileName: String)
특정 파일의 내용을 Object 형식으로 반환합니다. 파일 내용의 형식이 JSON일 경우에만 가능합니다.

반환값

fileName 파일 내용을 Object 형식으로 변환한 값

매개변수

fileName: 내용을 Object 형식으로 반환할 파일 이름

String

readString(fileName: String)
특정 파일의 내용을 반환합니다.

반환값

fileName 파일의 내용

매개변수

fileName: 내용을 반환할 파일 이름

void

writeObject(fileName: String, obj: Object)
인자로 주어진 객체를 JSON String으로 변환한 값을 특정 파일에 덮어씁니다. 파일이 존재하지 않을 경우 파일을 생성합니다.

매개변수

fileName: 내용을 덮어씌우거나 새로 생성할 파일 이름
obj: 문자열로 변환 후 파일 내용으로 저장할 객체

void

writeString(fileName: String, str: String)
인자로 주어진 문자열을 특정 파일에 덮어씁니다. 파일이 존재하지 않을 경우 파일을 생성합니다.

매개변수

fileName: 내용을 덮어씌우거나 새로 생성할 파일 이름
str: 파일 내용으로 저장할 문자열

Device

Device 객체는 구동 환경/기기에 관한 정보를 제공하는 메소드들을 모은 객체입니다.

Device 객체의 프로퍼티 / 메소드
android.os.Build

getBuild()
android.os.Build()를 반환합니다.

반환값

android.os.Build()

Number

getAndroidVersionCode()
앱 구동 환경의 안드로이드 버전 코드를 반환합니다.

반환값

앱 구동 환경의 안드로이드 버전 코드

String

getAndroidVersionName()
앱 구동 환경의 안드로이드 버전 이름을 반환합니다.

반환값

앱 구동 환경의 안드로이드 버전 이름

String

getPhoneBrand()
앱 구동 기기의 브랜드명을 반환합니다.

반환값

앱 구동 기기의 브랜드명

String

getPhoneModel()
앱 구동 기기의 모델명을 반환합니다.

반환값

앱 구동 기기의 모델명

Boolean

isCharging()
앱 구동 기기가 충전 중인지의 여부를 반환합니다.

반환값

앱 구동 기기가 충전 중일 경우 true, 충전 중이 아닐 경우 false

String

getPlugType()
앱 구동 기기의 충전기 타입을 반환합니다.

반환값
  • AC 충전기일 경우: ac
  • 무선 충전기일 경우: wireless
  • USB 포트일 경우: usb
  • 알 수 없을 경우: unknown
Number

getBatteryLevel()
앱 구동 기기의 배터리 잔량(%)을 반환합니다.

반환값

앱 구동 기기의 배터리 잔량(%)

Number

getBatteryHealth()
앱 구동 기기의 배터리 건강 상태를 나타내는 상수를 반환합니다.

반환값

앱 구동 기기의 배터리 건강 상태를 나타내는 상수

  • android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN = 1 (0x00000001)
  • android.os.BatteryManager.BATTERY_HEALTH_GOOD = 2 (0x00000002)
  • android.os.BatteryManager.BATTERY_HEALTH_OVERHEAT = 3 (0x00000003)
  • android.os.BatteryManager.BATTERY_HEALTH_DEAD = 4 (0x00000004)
  • android.os.BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE = 5 (0x00000005)
  • android.os.BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE = 6 (0x00000006)
  • android.os.BatteryManager.BATTERY_HEALTH_COLD = 7 (0x00000007)
Number

getBatteryTemperature()
앱 구동 기기의 배터리 온도를 반환합니다.

반환값

앱 구동 기기의 배터리 온도(temp * 10)

Number

getBatteryVoltage()
앱 구동 기기의 배터리 전압을 반환합니다.

반환값

앱 구동 기기의 배터리 전압(mV)

Number

getBatteryStatus()
앱 구동 기기의 배터리 상태를 나타내는 상수를 반환합니다.

반환값

앱 구동 기기의 배터리 상태를 나타내는 상수

  • android.os.BatteryManager.BATTERY_STATUS_UNKNOWN = 1 (0x00000001)
  • android.os.BatteryManager.BATTERY_STATUS_CHARGING = 2 (0x00000002)
  • android.os.BatteryManager.BATTERY_STATUS_DISCHARGING = 3 (0x00000003)
  • android.os.BatteryManager.BATTERY_STATUS_NOT_CHARGING = 4 (0x00000004)
  • android.os.BatteryManager.BATTERY_STATUS_FULL = 5 (0x00000005)
android.content.Intent

getBatteryIntent()
context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))를 반환합니다.

반환값

context.registerReceiver(null, IntentFilter(Intent.ACTION_BATTERY_CHANGED))

Event

Event 객체는 API2에서 제공하는 이벤트들에 대한 상수들을 제공하는 객체입니다.

Event 객체의 프로퍼티 / 메소드
String

Activity.BACK_PRESSED = "activityBackPressed"
API2의 activityBackPressed 이벤트 입니다.

String

Activity.CREATE = "activityCreate"
API2의 activityCreate 이벤트 입니다.

String

Activity.DESTROY = "activityDestroy"
API2의 activityDestroy 이벤트 입니다.

String

Activity.PAUSE = "activityPause"
API2의 activityPause 이벤트 입니다.

String

Activity.RESTART = "activityRestart"
API2의 activityRestart 이벤트 입니다.

String

Activity.RESUME = "activityResume"
API2의 activityResume 이벤트 입니다.

String

Activity.START = "activityStart"
API2의 activityStart 이벤트 입니다.

String

Activity.STOP = "activityStop"
API2의 activityStop 이벤트 입니다.

String

NOTIFICATION_POSTED = "notificationPosted"
API2의 notificationPosted 이벤트 입니다.

String

START_COMPILE = "startCompile"
API2의 startCompile 이벤트 입니다.

String

TICK = "tick"
API2의 tick 이벤트 입니다.

String

COMMAND = "command"
API2의 command 이벤트 입니다.

String

MESSAGE = "message"
API2의 message 이벤트 입니다.

FileStream

FileStream 객체는 내부 저장소의 파일을 다루는 객체입니다.

FileStream 객체의 프로퍼티 / 메소드
String

read(path: String)
특정 파일의 내용을 반환합니다.

반환값

path경로의 파일의 내용

매개변수

path: 내용을 읽을 파일의 경로

String

write(path: String, data: String)
파일을 새로 생성하거나, 특정 파일의 내용을 덮어씁니다. 생성하거나 덮어쓴 파일의 최종 내용을 반환합니다.

반환값

path경로의 파일의 최종 내용

매개변수

path: 생성하거나 덮어쓸 파일의 경로
data: 생성한 파일의 내용이나 파일에 덮어쓸 내용

String

append(path: String, data: String)
기존의 파일의 내용에 새로운 내용을 이어 씁니다. 이어 쓴 파일의 최종 내용을 반환합니다.

반환값

path경로의 파일의 최종 내용

매개변수

path: 내용을 이어 쓸 파일의 경로
data: 파일에 이어 쓸 내용

Boolean

remove(path: String)
파일을 삭제합니다. 파일의 삭제 성공 여부를 반환합니다.

반환값

파일 삭제에 성공할 경우 true, 실패할 경우 false (java.io.File.delete()의 반환값과 같음)

매개변수

path: 삭제할 파일의 경로

GlobalLog

GlobalLog 객체는 앱 내 글로벌 로그에 로그를 기록할 수 있게 하는 객체입니다.

GlobalLog 객체의 프로퍼티 / 메소드
void

d(data: String, showToast?: Boolean = false)
debug(data: String, showToast?: Boolean = false)
디버그 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 디버그 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

e(data: String, showToast?: Boolean = false)
error(data: String, showToast?: Boolean = false)
에러 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 에러 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

i(data: String, showToast?: Boolean = false)
info(data: String, showToast?: Boolean = false)
정보 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 정보 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

clear()
로그를 모두 삭제합니다.

Http

Http 객체는 웹 상에서의 request(리퀘스트; 요청)에 관한 기능을 제공하는 객체입니다.

Http 객체의 프로퍼티 / 메소드
void

request(url: String, callBack: (error, response, doc) => Any)
request(option: Object, callBack: (error, response, doc) => Any)
특정 URL에 Jsoup으로 비동기 request를 보냅니다.

매개변수

url: request를 보낼 URL
option: request 옵션 구조
callBack: request를 보낸 후 실행할 콜백 함수

  • error: java.lang.Exception
  • response: org.jsoup.Connection.Response
  • doc: org.jsoup.nodes.Document
org.jsoup.nodes.Document

requestSync(url: String)
requestSync(option: Object)
특정 URL에 Jsoup으로 동기 request를 보냅니다. 요청에 대한 응답을 org.jsoup.nodes.Document로 반환합니다.

반환값

요청에 대한 응답 (org.jsoup.nodes.Document)

매개변수

url: request를 보낼 URL
option: request 옵션 구조

request 옵션 구조

JSON

{
    "url": String, // request를 보낼 URL
    "timeout": Number, // request 타임아웃 (밀리초; 기본값: 3000)
    "method": String, // request 메소드 (기본값: "GET")
    "headers": { /* Header */ } // request 헤더 (기본값: null)
}

Log

Log 객체는 앱 내 스크립트 로그에 로그를 기록할 수 있게 하는 객체입니다.

Log 객체의 프로퍼티 / 메소드
void

d(data: String, showToast?: Boolean = false)
debug(data: String, showToast?: Boolean = false)
디버그 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 디버그 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

e(data: String, showToast?: Boolean = false)
error(data: String, showToast?: Boolean = false)
에러 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 에러 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

i(data: String, showToast?: Boolean = false)
info(data: String, showToast?: Boolean = false)
정보 로그를 작성합니다. showToast의 값이 true일 경우 작성된 로그를 토스트 메시지로 출력합니다.

매개변수

data: 작성할 정보 로그의 내용
showToast?: 작성된 로그를 토스트 메시지로 출력할 것인지의 여부

void

clear()
로그를 모두 삭제합니다.

sessionManager

sessionManager 객체는 채팅방 세션을 수동으로 등록할 수 있게 해주는 객체입니다.

sessionManager 객체의 프로퍼티 / 메소드
Boolean

bindSession(packageName?: String, room: String, action?: android.app.Notification.Action)
다른 메신저 앱의 특정 방에 채팅이 왔을 때 메시지를 전송합니다. action과 앱이 자동 분석한 답장 액션 모두 null이 아닌지의 여부를 반환합니다.

반환값

action과 앱이 자동 분석한 답장 액션 모두 null이 아닐 경우 true, 둘 중 적어도 하나가 null일 경우 false

매개변수

packageName?: 메시지를 보낼 메신저 앱의 패키지명
room: 메시지를 보낼 메신저 앱 내의 채팅방
action?: 메시지 전송 구현을 위한 android.app.Notification.Action

Security

Security 객체는 각종 암호화/복호화에 관한 기능들을 제공하는 객체입니다.

Security 객체의 프로퍼티 / 메소드
String

aesDecode(key: String, initVector: String, value: String)
특정 값을 AES 복호화한 값을 반환합니다.

반환값

value를 AES 복호화한 값

매개변수

key: AES 복호화를 위한 키
initVector: 초기화 백터
value: 복호화할 값

String

aesEncode(key: String, initVector: String, value: String)
특정 값을 AES 암호화한 값을 반환합니다.

반환값

value를 AES 암호화한 값

매개변수

key: AES 암호화를 위한 키
initVector: 초기화 백터
value: 암호화할 값

String

ariaDecode(key: String, value: String)
특정 값을 ARIA 복호화한 값을 반환합니다.

반환값

value를 ARIA 복호화한 값

매개변수

key: ARIA 복호화를 위한 키
value: 복호화할 값

String

ariaEncode(key: String, value: String)
특정 값을 ARIA 암호화한 값을 반환합니다.

반환값

value를 ARIA 암호화한 값

매개변수

key: ARIA 암호화를 위한 키
value: 암호화할 값

String

base32Decode(value: String)
특정 값을 Base32 복호화한 값을 반환합니다.

반환값

value를 Base32 복호화한 값

매개변수

value: 복호화할 값

String

base32Encode(value: String)
특정 값을 Base32 암호화한 값을 반환합니다.

반환값

value를 Base32 암호화한 값

매개변수

value: 암호화할 값

String

base64Decode(value: String)
특정 값을 Base64 복호화한 값을 반환합니다.

반환값

value를 Base64 복호화한 값

매개변수

value: 복호화할 값

String

base64Encode(value: String)
특정 값을 Base64 암호화한 값을 반환합니다.

반환값

value를 Base64 암호화한 값

매개변수

value: 암호화할 값

String

desDecode(key: String, value: String)
특정 값을 DES 복호화한 값을 반환합니다.

반환값

value를 DES 복호화한 값

매개변수

key: DES 복호화를 위한 키
value: 복호화할 값

String

desEncode(key: String, value: String)
특정 값을 DES 암호화한 값을 반환합니다.

반환값

value를 DES 암호화한 값

매개변수

key: DES 암호화를 위한 키
value: 암호화할 값

String

desKey()
DES 보조키를 생성하여 반환합니다.

반환값

생성한 DES 보조키

String

des3Decode(key: String, value: String)
특정 값을 DES3 복호화한 값을 반환합니다.

반환값

value를 DES3 복호화한 값

매개변수

key: DES3 복호화를 위한 키
value: 복호화할 값

String

des3Encode(key: String, value: String)
특정 값을 DES3 암호화한 값을 반환합니다.

반환값

value를 DES3 암호화한 값

매개변수

key: DES3 암호화를 위한 키
value: 암호화할 값

String

eccDecode(key: String, value: String)
특정 값을 ECC 복호화한 값을 반환합니다.

반환값

value를 ECC 복호화한 값

매개변수

key: ECC 복호화를 위한 키
value: 복호화할 값

String

eccEncode(key: String, value: String)
특정 값을 ECC 암호화한 값을 반환합니다.

반환값

value를 ECC 암호화한 값

매개변수

key: ECC 암호화를 위한 키
value: 암호화할 값

String

hashCode(value: String)
특정 값의 해시코드를 반환합니다.

반환값

value의 해시코드

매개변수

value: 해시코드를 추출할 값

String

md2(value: String)
특정 값을 MD2 암호화한 값을 반환합니다.

반환값

value를 MD2 암호화한 값

매개변수

value: 암호화할 값

String

md5(value: String)
특정 값을 MD5 암호화한 값을 반환합니다.

반환값

value를 MD5 암호화한 값

매개변수

value: 암호화할 값

String

rc4Decode(key: String, value: String)
특정 값을 RC4 복호화한 값을 반환합니다.

반환값

value를 RC4 복호화한 값

매개변수

key: RC4 복호화를 위한 키
value: 복호화할 값

String

rc4Encode(key: String, value: String)
특정 값을 RC4 암호화한 값을 반환합니다.

반환값

value를 RC4 암호화한 값

매개변수

key: RC4 암호화를 위한 키
value: 암호화할 값

String

seedDecode(key: String, value: String)
특정 값을 SEED 복호화한 값을 반환합니다.

반환값

value를 SEED 복호화한 값

매개변수

key: SEED 복호화를 위한 키
value: 복호화할 값

String

seedEncode(key: String, value: String)
특정 값을 SEED 암호화한 값을 반환합니다.

반환값

value를 SEED 암호화한 값

매개변수

key: SEED 암호화를 위한 키
value: 암호화할 값

String

sha(value: String)
특정 값을 SHA 암호화한 값을 반환합니다.

반환값

value를 SHA 암호화한 값

매개변수

value: 암호화할 값

String

sha256(value: String)
특정 값을 SHA256 암호화한 값을 반환합니다.

반환값

value를 SHA256 암호화한 값

매개변수

value: 암호화할 값

String

sha384(value: String)
특정 값을 SHA384 암호화한 값을 반환합니다.

반환값

value를 SHA384 암호화한 값

매개변수

value: 암호화할 값

String

sha512(value: String)
특정 값을 SHA512 암호화한 값을 반환합니다.

반환값

value를 SHA512 암호화한 값

매개변수

value: 암호화할 값

String

sha3_224(value: String)
특정 값을 SHA3-224 암호화한 값을 반환합니다.

반환값

value를 SHA3-224 암호화한 값

매개변수

value: 암호화할 값

String

sha3_256(value: String)
특정 값을 SHA3-256 암호화한 값을 반환합니다.

반환값

value를 SHA3-256 암호화한 값

매개변수

value: 암호화할 값

String

sha3_384(value: String)
특정 값을 SHA3-384 암호화한 값을 반환합니다.

반환값

value를 SHA3-384 암호화한 값

매개변수

value: 암호화할 값

String

sha3_512(value: String)
특정 값을 SHA3-512 암호화한 값을 반환합니다.

반환값

value를 SHA3-512 암호화한 값

매개변수

value: 암호화할 값

이벤트

API2는 이벤트 리스너가 지정되어 있지 않으며, 여러 이벤트가 존재합니다.

activityBackPressed

activityBackPressed 이벤트는 스크립트 액티비티의 onBackPressed가 호출되면 발생하는 이벤트입니다.

activityBackPressed 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityCreate

activityCreate 이벤트는 스크립트 액티비티의 onCreate가 호출되면 발생하는 이벤트입니다.

activityCreate 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityDestroy

activityDestroy 이벤트는 스크립트 액티비티의 onDestroy가 호출되면 발생하는 이벤트입니다.

activityDestroy 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityPause

activityPause 이벤트는 스크립트 액티비티의 onPause가 호출되면 발생하는 이벤트입니다.

activityPause 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityRestart

activityRestart 이벤트는 스크립트 액티비티의 onRestart가 호출되면 발생하는 이벤트입니다.

activityRestart 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityResume

activityResume 이벤트는 스크립트 액티비티의 onResume가 호출되면 발생하는 이벤트입니다.

activityResume 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityStart

activityStart 이벤트는 스크립트 액티비티의 onStart가 호출되면 발생하는 이벤트입니다.

activityStart 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

activityStop

activityStop 이벤트는 스크립트 액티비티의 onStop가 호출되면 발생하는 이벤트입니다.

activityStop 이벤트의 인자
android.app.Activity

activity
해당 이벤트가 발생했을 때의 액티비티

notificationPosted

notificationPosted 이벤트는 기기에 알림이 발생할 때 마다 발생하는 이벤트입니다.

notificationPosted 이벤트의 인자
android.service.notification.StatusBarNotification

statusBarNotification
안드로이드 공식 문서를 참고하세요.

SessionManager

sessionManager
앱이 공식적으로 지원하지 않는 메신저에 사용하기 위한 인자

startCompile

startCompile 이벤트는 컴파일 요청을 감지했을 때 컴파일 시작 전에 발생하는 이벤트입니다. 이 이벤트는 인자를 필요로 하지 않습니다.

tick

주의

이 이벤트는 아직 구현되지 않았습니다.

tick 이벤트는 매 틱마다 발생하는 이벤트입니다.

message

message 이벤트는 메신저 앱에 메시지가 수신되었을 때 마다 발생하는 이벤트입니다.

message 이벤트의 인자
Object

msg
수신된 메시지에 대한 정보를 담고 있는 객체

msg 인자 정보

JSON

{
    "room": String, // 메시지가 온 방의 이름
    "channelId": BigInt, // 메시지가 온 방의 고유 아이디
    "content": String, // 메시지의 내용
    "isGroupChat": Boolean, // 방 내 인원이 3인 이상인지의 여부
    "isDebugRoom": Boolean, // 디버깅룸에서 온 메시지인지의 여부
    "image": { // 메시지에 포함된 사진에 대한 정보를 담고 있는 객체 (카카오톡 알림 구조 변경에 따라 안될 가능성이 높음)
        "getBase64": Function, // 채팅속 사진의 Base64 값을 반환
        "getBitmap": Function // 채팅속 사진의 android.graphics.Bitmap을 반환
    },
    "isMention": Boolean, // 채팅에 멘션 포함 여부,
    "logId": BigInt, // 각 채팅에 대한 고유 아이디
    "author": { // 메시지 전송자에 대한 정보를 담고 있는 객체
        "name": String, // 메시지를 보낸 유저의 이름
        "avatar": { // 메시지 전송자 프로필에 대한 정보
            "getBase64": Function, // 전송자 프로필의 Base64 값을 반환
            "getBitmap": Function // 전송자 프로필의 android.graphics.Bitmap을 반환
        },
        "hash": String // 안드로이드 11이상에서만 사용가능, 동일 방에 한하여, 같은 유저는 프로필이 변경되어도 같은 값
    },
    "reply": Function(content), // 메시지가 온 방에 content를 전송 (content: String)
    "markAsRead": Function, // 메시지가 온 방의 알림을 읽음 처리
    "packageName": String // 메시지가 온 메신저 앱의 패키지명
}

command

command 이벤트는 Bot.setCommandPrefix()에 의해 정해진 접두어로 시작하는 메시지가 수신되었을 때마다 발생하는 이벤트입니다.

command 이벤트의 인자
Object

msg
수신된 메시지에 대한 정보를 담고 있는 객체

msg 인자 정보

JSON

{
    "command": String, // 명령어의 이름 ('/angles 30 60 90' 이라는 메시지일 때 "angles")
    "args": Array, // 명령어의 인자들의 배열 (인자가 없을 경우 길이가 0인 배열 반환; 가령, '/angles 30 60 90' 이라는 메시지일 때 ["30", "60", "90"])
    "room": String, // 메시지가 온 방의 이름
    "channelId": BigInt, // 메시지가 온 방의 고유 아이디
    "content": String, // 메시지의 내용
    "isGroupChat": Boolean, // 방 내 인원이 3인 이상인지의 여부
    "isDebugRoom": Boolean, // 디버깅룸에서 온 메시지인지의 여부
    "image": { // 메시지에 포함된 사진에 대한 정보를 담고 있는 객체 (카카오톡 알림 구조 변경에 따라 안될 가능성이 높음)
        "getBase64": Function, // 채팅속 사진의 Base64 값을 반환
        "getBitmap": Function // 채팅속 사진의 android.graphics.Bitmap을 반환
    },
    "isMention": Boolean, // 채팅에 멘션 포함 여부,
    "logId": BigInt, // 각 채팅에 대한 고유 아이디
    "author": { // 메시지 전송자에 대한 정보를 담고 있는 객체
        "name": String, // 메시지를 보낸 유저의 이름
        "avatar": { // 메시지 전송자 프로필에 대한 정보
            "getBase64": Function, // 전송자 프로필의 Base64 값을 반환
            "getBitmap": Function // 전송자 프로필의 android.graphics.Bitmap을 반환
        },
        "hash": String // 안드로이드 11이상에서만 사용가능, 동일 방에 한하여, 같은 유저는 프로필이 변경되어도 같은 값
    },
    "reply": Function(content), // 메시지가 온 방에 content를 전송 (content: String)
    "markAsRead": Function, // 메시지가 온 방의 알림을 읽음 처리
    "packageName": String // 메시지가 온 메신저 앱의 패키지명
}