Releases: DarkTornado/KakaoTalkBot
Releases · DarkTornado/KakaoTalkBot
채팅 자동응답 봇 5.0 beta 6
봇 작동 관련 오류 수정
- 일부 기기에서 채팅 수신은 인식하지만 응답을 보내지 않는 현상 수정
- 5.0 beta 5가 작동하지 않아서 5.0 beta 3으로 내렸더니 작동하는 그거 수정한거 맞음
UI 관련
- 메인 화면에서 바로 로거 화면으로 진입할 수 있는 메뉴 추가
라이노 엔진 컴파일 모드 및 최적화 레벨 지원
- 컴파일 모드 사용시 최적화 레벨은 0 ~ 9 사이로 설정 가능
- 기존에 실행되던 것은 인터프리터 모드로, 최적화 레벨 -1로 고정
자바스크립트 계열 공통 변동사항
- require 내부 구현 변경 (기존 로직은 require2로 유지)
rhino-expender.js
라는 이름으로 Array.prototype.at();이랑 String.prototype.replaceAll(); JS로 구현해서 추가
- 리로드 중 오류 발생시 로거에도 오류가 남도록 수정
레거시 API 변동사항
Bot
라이브러리 Deprecated. API2에 있는 그Bot
아님.Device.getPlugType();
,Utils.getJosa();
추가Api.getRoomList();
와Api.papagoTranslate();
가 정상적으로 작동하지 않는 오류 수정- 이벤트 리스너
function response() {}
에 새로운 매개변수isMultiChat
추가 - 이벤트 리스너
function secondTick() {}
이 보다 더 정확하게 작동하도록 수정 - 이벤트 리스너
function onNotificationRemoved() {}
와function onBatteryLevelChanged() {}
추가
API2 변동사항 (표준 API)
Event.NOTIFICATION_REMOVED
,Event.BATTERY_LEVEL_CHANGED
추가Event.TICK
이 보다 더 정확하게 작동하도록 수정Event.MESSAGE
,Event.COMMAND
의 매개변수 변동 (.room
변동 등, 문서 참고)Broadcast
,Http
구현 및Security
일부 구현
SQLManager 추가
- 진짜로 DB에다가 값 저장하는 API
일반 자동응답
- 최상단 블록 살려내기 기능 추가
- 듀얼 메신저 구분이 가능하도록 변경
단순 자동응답
- [[뒷내용]] 태그 추가
- 사실, [[시작], [[포함]], [[끝]] 태그를 이전에 구현했으나, 과거의 내가 까먹고 안적음
- 듀얼 메신저 구분이 가능하도록 변경
물리 키보드 단축키 지원 시작
기타 변동사항
- 일부 매개변수 내부 로직 수정
- 레거시 API에 있는 ImageDB에 뭔갈 하나 숨겨둠
- 기존에 작성 중이던 출시 노트가 소실되어, 일부 내용이 누락되어 있을 수 있습니다.
- 소스 코드는 배포하지 않습니다.
채팅 자동응답 봇 5.0 beta 5
개선 사항
모두 리로드
기능 및켜진 봇만 리로드
기능 사용시 각 봇마다 토스트 메시지를 2개씩 출력하는 것을 스낵바로 변경
오류 수정
- 디버깅 룸에서 단순 자동응답 기능으로 만든 봇을 테스트하는 경우, 봇이 채팅을 보내지 못하는 현상 수정
모두 리로드
기능 및켜진 봇만 리로드
기능 사용시, 리로드라는 개념이 없는단순 자동응답
기능으로 만들었거나,그린스크립트
로 작성된 봇도 리로드를 시도하는 현상 수정
- 소스 코드는 배포하지 않습니다.
채팅 자동응답 봇 5.0 beta 4
최초 실행시 보이는 화면에 봇 작동 체크리스트를 한 마디로 정리해주는 문구 추가
- 채팅 자동응답 봇은 본인이 메신저 앱을 보고 있지 않는 동안 상단바에 메신저 앱의 알림이 뜨면 사용자가 설정하거나 프로그래밍한 내용에 따라 그 알림을 통해 응답을 보내는 앱이에요.
ImageDB
관련 치명적인 오류 수정
카카오톡 9.7.5 미만
에서는채팅을 보낸 사람의 프로필 사진
이 뜨지만,카카오톡 9.7.5 이상
에서는채팅을 받은 본인의 프로필 사진
이ImageDB
에 담기는 현상 수정- 오픈채팅방에서 오픈프로필이나 카카오프렌즈 프로필을 사용하고 있어도
실제 프로필의 프로필 사진
이 담김 카카오톡 9.7.0
에서는채팅을 보낸 사람의 프로필 정보
가 담기던 곳에 갑자기자기 자신의 프로필 정보
가 담기도록카카오톡 9.7.5
에서 수정된 것이 원인- 해당 변동사항은
안드로이드 11
이상에서만 해당
켜진 봇들만 전부 리로드하는 기능 추가
- 모든 봇을 리로드하는 버튼 아래에 추가
각 봇들에 있는 이벤트 리스너 호출 순서 변경
- 가나다순으로 호출함
리로드 및 이벤트 리스너 호출 관련 내부 로직 변경
- 날아다디는 스파게티 괴물 수준이였던 소스를 맛있는 스파게티 정도로 바꿈
일부 API 및 알림 파싱 관련 내부 로직 변경
- 사실 정상적인 사용자는 몰라도 됨
신규 API 추가
- 메신저봇에만 있던
Device.getWifiName();
,Device.isPowerSaveMode();
,Device.getTotalMemory();
,AppData
,GlobalLog
추가 - 메신저봇에는 없는
Device.getMaxMemory();
,Device.getFreeMemory();
추가 SessionManager
클래스에 있는bindSession();
메서드에서Action
대신Action
배열을 넘겨도 되도록 추가
기존 API 삭제
- 구버전 호환용으로 남겨둔
Api.UiThread();
삭제.Api.UIThread();
사용 권장 Bot.reload();
삭제.Api.reload();
사용 권장
디버깅 룸 변동사항
- 디버깅 룸에서 상대방의 이름이
몰?루
라고 떴었는데, 봇 이름으로 뜨도록 변경 - 기존에는
ImageDB
가 무조건null
로 넘어왔으나, 비어있는ImageDB
를 넘기도록 변경
FakeDialog
가 테마의 영향을 받지 않도록 수정
- 이젠 무조건 흰색으로 나옴
비정상 종료 관련 기능 오류 수정
- 오류 내용을 복사하려고 하면 발생한 오류 내용이 없다고 뜨는 현상 수정
그린스크립트 태그 추가
[[줄바꿈]]
,[[공백]]
,[[더미]]
태그 추가. 각각[[N]]
,[[B]]
,[[D]]
로도 사용 가능. 소문자로 적어도 됨
- 소스 코드는 배포하지 않습니다.
채팅 자동응답 봇 5.0 beta 3
안드로이드 9 미만에서 채팅이 올 때 마다 앱이 강제로 종료되는 현상 수정
앱이 예상하지 못한 이유로 종료되면 크래시 로그를 기록하는 기능 추가
- 내장메모리에 오류 내용 기록
[[상단바]] 태그 사용시 뜨는 알림에 내용이 너무 길면 확장하는 것이 가능하도록 수정
- 그냥 모든 알림이 확장 가능한 형태로 변경
데이터 이동 관련 설명 수정
- UI 변경 반영
신규 API 추가
- 메신저봇에만 있던 Api.makeNoti(); 추가
그린스크립트 추가
- 소스 코드는 배포하지 않습니다.
채팅 자동응답 봇 5.0 beta 2
카카오톡 9.7.5 대응
- 알림 구조 또 바뀐거 대응 완료
- 저번(9.7.0)에 바뀐 것 = 채팅 수신 인식 관련된 것
- 이번(9.7.5)에 바뀐 것 = 응답 전송 관련된 것
API 설명 및 태그 목록 변경
- 채팅 자동응답 봇 문서로 이동하도록 수정
스크립트 액티비티 아이콘 변경
- 내부 구현 바꾸면서 동일한 아이콘 못찾아서 바꿈
다크 테마 일부 색 변경
- 스위치, 커서 색 등 밝게 변경
신규 테마 추가
- 미쿠, 유키 미쿠, 사쿠라 미쿠, 린&렌 테마 추가
최신 버전 확인하는 기능 추가
- 봇 구동 서비스가 실행되는 순간과 앱 아이콘을 눌러서 채자봇을 실행하는 순간에 자동으로 확인
- 메뉴에서 직접 수동으로 확인도 가능
일부 API 관련된거 수정
- Log 클래스에 있는 모든 메서드들의 사용법이 수정되었으니, 문서에서 해당 항목 참고.
- Log로 로깅을 하면 시간이 24시간 형식으로 표기되도록 변경
- 기존에는 오전/오후가 생략된 상태로 12시간 형식으로 표기되고 있었음
Log.debug();
와Log.error();
에 HTML 태그가 적용되는 현상 수정
- 소스 코드는 배포하지 않습니다.
채팅 자동응답 봇 5.0 beta
공통
알림 구조 변경 대응
- 안드로이드 11이상인 기기에서 카카오톡 9.7.0을 실행하면 알림 구조가 기존과는 다르게 출력됩니다.
- 안드로이드 버전 및 카카오톡 버전에 맞게 알아서 알림을 파싱하도록 변경되었습니다.
- 알림을 어떻게 파싱할지 사용자가 직접 결정할 수 있는 설정이 추가되었습니다.
메인화면 및 디버깅 룸 UI 변경, 기본 도움말 추가
파일 접근 권한 요청 UI 변경
- 구글이 보안 핑계로 파일 관련된거 아이폰처럼 만들어버린거 대응
다크 테마 추가
- 어두운 테마 지원. 설정에서 선택 가능
버그 수정
- 채팅 수신 인식 테스트가 활성화되어있어도 종종 스위치가 켜진 상태로 유지되지 않는 현상 수정
- 방 이름과 채팅을 보낸 사람의 프로필 사진이 정상적으로 나오지 않는 현상 수정
- 채팅이 와도 세션이 정상적으로 저장되지 않는 현상
단순 자동응답
[[전체변수]] 태그 관련 오류 수정
- 더하기, 빼기, 곱하기, 나누기가 안되는 현상 수정
신규 태그 추가
- [[뒷내용]], [[자른내용|N]], [[자른내용|구분기준|N]] 추가
일반 자동응답
답장 블록에서 변수 인용법 변경
[[변수이름]]
에서${변수이름}
으로 변경- 기존에 추가했던 블록을 수정할 필요는 없음
버그 수정
- 블록에 엔터를 포함하는 경우에 종종 오류가 발생하는 현상 수정
- 문자열 리터럴에서 템플릿 리터럴로 바꿔서 그럼
자바스크립트 & 커피스크립트 & 비쥬얼베이직
라이노 엔진 업데이트
- 1.7.12 → 1.7.14
소스 코드 편집기에서 템플릿 리터럴도 하이라이팅 하도록 수정
- 라이노 엔진 버전 올려서 이제 백틱 사용 가능
신규 이벤트 리스너 추가
- function onNotificationPosted(sbn, sm) 추가
신규 메서드 추가
- ImageDB.getRoomImage();, ImageDB.getRoomBitmap(); 추가
- ImageDB.getImageLegacy();, ImageDB.getBitmapLegacy();, Api.getLastImage();, Agi.etLastImageBitmap(); 추가 (안드로이드 10 이하에서만 작동)
- replier.replyDelayed(msg, ms);, replier.replyDelayed(room, msg, ms);, replier.replyDelayed(room, msg, ms, hideToast); 추가
- setTimeout();과 setInterval();이 0보다 큰 자연수를 반환하도록 변경
- API2에 구현되어 있지 않던 Event 구현
- Event.NOTIFICATION_POSTED, Event.TICK, Event.Activity.BACK_PRESSED, Event.Activity.CREATE, Event.Activity.DESTROY, Event.Activity.PAUSE, Event.Activity.RESTART, Event.Activity.RESUME, Event.Activity.START, Event.Activity.STOP
디버깅 룸 관련 수정사항
- 디버깅 룸에서 채팅을 보낸 경우에도 API2에 있는 Event.MESSAGE, Event.COMMAND 이벤트가 발생하도록 수정
버그 수정
- 비쥬얼베이직으로 만든 봇에서 리로드 버튼을 누르면, 앱 개발자만 알면 되는 정보가 출력되는 현상 수정
기타 설명에 적혀있던 잘못된 내용 및 오타 수정
- 소스 코드는 배포하지 않습니다.