-
-
Save DOCHIS/8095eb6a05586de220c81503b4684b36 to your computer and use it in GitHub Desktop.
{ | |
"CLEAR": 0, | |
"NORMAL": 1, | |
"FAN": 2, | |
"SUP": 3, | |
"FAN_SUP": 4, | |
"CLEAR2": 0, | |
"NORMAL2": 16, | |
"FAN2": 32, | |
"SUP2": 64, | |
"TOP_FAN2": 128, | |
"FOLLOWER2": 256, | |
} |
{ | |
"CLOSED": 0, | |
"NORMAL": 1, | |
"KCIK": 2, | |
"DUMB": 3, | |
"OVERCHAT": 4, | |
"BLIND": 5, | |
"ADMKICK": 6, | |
} |
{ | |
"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 | |
} |
/** | |
* 채팅 관련 클래스 | |
* @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"); | |
} | |
} |
{ | |
"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/
요 프로젝트를 진행중인데 혹시 아프리카쪽 채팅쪽 프로젝트를 사용하신다면 디스코드에도 놀러오세요!!
@cha2hyun 관련 프로젝트를 진행하면서 소켓의 데이터를 따야하는 상황이 생겨서 아프리카TV내에서 사용하는 서비스 JS코드를 모두 리버싱해서 찾았습니다 https://dochis2013.gitbook.io/afreeca-api/ 요 프로젝트를 진행중인데 혹시 아프리카쪽 채팅쪽 프로젝트를 사용하신다면 디스코드에도 놀러오세요!!
재밌는 프로젝트 진행중이시네요 !!
그리고 퀄리티에 한번 더 놀랬습니다.
저는 시청자와 실시간 댓글 이벤트를 진행하기 위해서 만들었었는데
현재 아프리카는 시청자가 적어서 유튜브 라이브로만 진행하고 있네요. 😅
글은 좀 예전에 작성해서 지금 보면 부끄러운 부분들이 있지만,
자세히 봐주시고 알게되신 내용도 공유해주셔서 고맙습니다.
남겨주신 댓글과 진행중이신 프로젝트 보고 영감도 얻고 자극도 받게 되는 것 같아요
프로젝트 잘 이끌어주셔서 제2의 아프리카도우미 같은
좋은 서비스 만들어주세요 !! (제가 정말 필요했었던 서비스입니다)
틈틈히 구경하러 가겠습니다 👍
@cha2hyun 좋은 말씀 감사합니다
아무래도 남겨주신 게시물 덕분에 많은 부분에 대한 힌트를 얻을 수 있었어서 저도 감사합니다
서로 알게 된 사살을 공유하는것도 중요한 덕목인것 같아요
즐거운 하루되세요 👍
댓글남겨주신 내용을 이제야 자세히 확인했습니다.
와... 근데... 이걸 어떻게 확인하신건가요... 능력자십니다 👍
추가로 혹시 아프리카TV 채팅 내용으로 진행하시는 프로젝트가 있으신건가요?