-
-
Save DOCHIS/8095eb6a05586de220c81503b4684b36 to your computer and use it in GitHub Desktop.
ChatServiceType
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"CLEAR": 0, | |
"NORMAL": 1, | |
"FAN": 2, | |
"SUP": 3, | |
"FAN_SUP": 4, | |
"CLEAR2": 0, | |
"NORMAL2": 16, | |
"FAN2": 32, | |
"SUP2": 64, | |
"TOP_FAN2": 128, | |
"FOLLOWER2": 256, | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"CLOSED": 0, | |
"NORMAL": 1, | |
"KCIK": 2, | |
"DUMB": 3, | |
"OVERCHAT": 4, | |
"BLIND": 5, | |
"ADMKICK": 6, | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"SVC_KEEPALIVE": 0, | |
"SVC_LOGIN": 1, | |
"SVC_JOINCH": 2, | |
"SVC_QUITCH": 3, | |
"SVC_CHUSER": 4, | |
"SVC_CHATMESG": 5, | |
"SVC_SETCHNAME": 6, | |
"SVC_SETBJSTAT": 7, | |
"SVC_SETDUMB": 8, | |
"SVC_DIRECTCHAT": 9, | |
"SVC_NOTICE": 10, | |
"SVC_KICK": 11, | |
"SVC_SETUSERFLAG": 12, | |
"SVC_SETSUBBJ": 13, | |
"SVC_SETNICKNAME": 14, | |
"SVC_SVRSTAT": 15, | |
"SVC_RELOADHOST": 16, | |
"SVC_CLUBCOLOR": 17, | |
"SVC_SENDBALLOON": 18, | |
"SVC_ICEMODE": 19, | |
"SVC_SENDFANLETRTRER": 20, | |
"SVC_SENDCHEERSONG": 21, | |
"SVC_BURNINGMODE": 22, | |
"SVC_BURNINGLEVEL": 23, | |
"SVC_RELOADBURNLEVEL": 24, | |
"SVC_BLINDKICK": 25, | |
"SVC_MANAGERCHAT": 26, | |
"SVC_APPENDDATA": 27, | |
"SVC_BASEBALLEVENT": 28, | |
"SVC_PAIDITEM": 29, | |
"SVC_TOPFAN": 30, | |
"SVC_SNSMESSAGE": 31, | |
"SVC_SNSMODE": 32, | |
"SVC_SENDBALLOONSUB": 33, | |
"SVC_SENDFANLETRTRERSUB": 34, | |
"SVC_TOPFANSUB": 35, | |
"SVC_BJSTICKERITEM": 36, | |
"SVC_CHOCOLATE": 37, | |
"SVC_CHOCOLATESUB": 38, | |
"SVC_TOPCLAN": 39, | |
"SVC_TOPCLANSUB": 40, | |
"SVC_SUPERCHAT": 41, | |
"SVC_UPDATETICKET": 42, | |
"SVC_NOTIGAMERANKER": 43, | |
"SVC_STARCOIN": 44, | |
"SVC_SENDQUICKVIEW": 45, | |
"SVC_ITEMSTATUS": 46, | |
"SVC_ITEMUSING": 47, | |
"SVC_USEQUICKVIEW": 48, | |
"SVC_ICEMODERELAY": 49, | |
"SVC_NOTIFY_POLL": 50, | |
"SVC_CHATBLOCKMODE": 51, | |
"SVC_BDM_ADDBLACKINFO": 52, | |
"SVC_SETBROADINFO": 53, | |
"SVC_BAN_WORD": 54, | |
"SVC_SENDHOPEBALLOON": 56, | |
"SVC_SENDHOPEBALLOONSUB": 57, | |
"SVC_SENDADMINNOTICE": 58, | |
"SVC_FREECAT_OWNER_JOIN": 65, | |
"SVC_BUYGOODS": 70, | |
"SVC_BUYGOODSSUB": 71, | |
"SVC_SENDPROMOTION": 72, | |
"SVC_NOTIFY_VR": 74, | |
"SVC_NOTIFY_MOBBROAD_PAUSE": 75, | |
"SVC_KICK_AND_CANCEL": 76, | |
"SVC_KICK_USERLIST": 77, | |
"SVC_ADMIN_CHUSER": 78, | |
"SVC_CLIDOBAEINFO": 79, | |
"SVC_VOD_BALLOON": 86, | |
"SVC_ADCON_EFFECT": 87, | |
"SVC_SVC_KICK_MSG_STATE": 90, | |
"SVC_FOLLOW_ITEM": 91, | |
"SVC_ITEM_SELL_EFFECT": 92, | |
"SVC_FOLLOW_ITEM_EFFECT": 93, | |
"SVC_TRANSLATION_STATE": 94, | |
"SVC_TRANSLATION": 95, | |
"SVC_GIFT_TICKET": 102, | |
"SVC_VIDEO_BALLOON": 105, | |
"SVC_VIDEOBALLOON": 105, | |
"SVC_GLOBAL_STICKER": 108, | |
"SVC_GLOBAL_STICKER": 109, | |
"SVC_SENDPUNGBALLOON": 113, | |
"SVC_SENDPUNGBALLOONSUB": 115, | |
"SVC_PUNG_NOTICE": 114 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 채팅 관련 클래스 | |
* @class | |
*/ | |
export default class Chatting { | |
constructor(proccessor) { | |
// 자주 사용되는 문자열 셋 | |
this.str = { | |
bk: String.fromCharCode(9), // " " | |
ff: String.fromCharCode(12), // "" | |
esc: String.fromCharCode(27), // "" | |
}; | |
} | |
/** | |
* 패킷의 해더를 생성하는 함수 | |
* @param {string} ChatServiceType - 채팅 서비스 타입 | |
* @param {int} byteLength - 버퍼의 길이 | |
* @param {int} n - 미확인 | |
* @return {string} - 패킷의 해더 | |
*/ | |
makeHeader(ChatServiceType, byteLength, n) { | |
var header = []; | |
console.log(">> byteLength", byteLength); | |
return ( | |
header.push(this.str.esc), | |
header.push(this.str.bk), | |
header.push(this.padLeft(ChatServiceType, 4)), | |
header.push(this.padLeft(byteLength, 6)), | |
header.push(this.padLeft(n, 2)), | |
header | |
); | |
} | |
/** | |
* 앞에 0을 채우는 함수 | |
* @param {int} t - 길이 | |
* @param {string} e - 문자열 | |
* @return {string} - 문자열 | |
*/ | |
padLeft(t, e) { | |
return (t + "").padStart(e, "0"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"ADMIN": 1, | |
"HIDDEN": 2, | |
"BJ": 4, | |
"DUMB": 8, | |
"GUEST": 16, | |
"FANCLUB": 32, | |
"AUTOMANAGER": 64, | |
"MANAGERLIST": 128, | |
"MANAGER": 256, | |
"FEMALE": 512, | |
"AUTODUMB": 1024, | |
"DUMB_BLIND": 2048, | |
"DOBAE_BLIND": 4096, | |
"DOBAE_BLIND2": 16777216, | |
"EXITUSER": 8192, | |
"MOBILE": 16384, | |
"TOPFAN": 32768, | |
"REALNAME": 65536, | |
"NODIRECT": 131072, | |
"GLOBAL_APP": 262144, | |
"QUICKVIEW": 524288, | |
"SPTR_STICKER": 1048576, | |
"CHROMECAST": 2097152, | |
"FOLLOWER": 268435456, | |
"NOTIVODBALLOON": 1073741824, | |
"NOTITOPFAN": -2147483648, | |
"GLOBAL_PC": 1, | |
"CLAN": 2, | |
"TOPCLAN": 4, | |
"TOP20": 8, | |
"GAMEGOD": 16, | |
"GAMEIMO": 32, | |
"NOSUPERCHAT": 64, | |
"NORECVCHAT": 128, | |
"FLASH": 256, | |
"LGGAME": 512, | |
"EMPLOYEE": 1024, | |
"CLEANATI": 2048, | |
"POLICE": 4096, | |
"ADMINCHAT": 8192, | |
"PC": 16384, | |
"SPECIFY": 32768, | |
"NEW_STUDIO": 65536, | |
"HTML5": 131072, | |
"FOLLOWER_PERIOD_3": 8388608, | |
"FOLLOWER_PERIOD_6": 262144, | |
"FOLLOWER_PERIOD_12": 524288, | |
"FOLLOWER_PERIOD_24": 1048576, | |
"FOLLOWER_PERIOD_36": 16777216, | |
"hide_sex": 33554432 | |
} |
@cha2hyun 관련 프로젝트를 진행하면서 소켓의 데이터를 따야하는 상황이 생겨서 아프리카TV내에서 사용하는 서비스 JS코드를 모두 리버싱해서 찾았습니다 https://dochis2013.gitbook.io/afreeca-api/ 요 프로젝트를 진행중인데 혹시 아프리카쪽 채팅쪽 프로젝트를 사용하신다면 디스코드에도 놀러오세요!!
재밌는 프로젝트 진행중이시네요 !!
그리고 퀄리티에 한번 더 놀랬습니다.
저는 시청자와 실시간 댓글 이벤트를 진행하기 위해서 만들었었는데
현재 아프리카는 시청자가 적어서 유튜브 라이브로만 진행하고 있네요. 😅
글은 좀 예전에 작성해서 지금 보면 부끄러운 부분들이 있지만,
자세히 봐주시고 알게되신 내용도 공유해주셔서 고맙습니다.
남겨주신 댓글과 진행중이신 프로젝트 보고 영감도 얻고 자극도 받게 되는 것 같아요
프로젝트 잘 이끌어주셔서 제2의 아프리카도우미 같은
좋은 서비스 만들어주세요 !! (제가 정말 필요했었던 서비스입니다)
틈틈히 구경하러 가겠습니다 👍
@cha2hyun 좋은 말씀 감사합니다
아무래도 남겨주신 게시물 덕분에 많은 부분에 대한 힌트를 얻을 수 있었어서 저도 감사합니다
서로 알게 된 사살을 공유하는것도 중요한 덕목인것 같아요
즐거운 하루되세요 👍
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@cha2hyun 관련 프로젝트를 진행하면서 소켓의 데이터를 따야하는 상황이 생겨서
아프리카TV내에서 사용하는 서비스 JS코드를 모두 리버싱해서 찾았습니다
https://dochis2013.gitbook.io/afreeca-api/
요 프로젝트를 진행중인데 혹시 아프리카쪽 채팅쪽 프로젝트를 사용하신다면 디스코드에도 놀러오세요!!