채팅방 전체 메시지
공지 메시지 이벤트
js
channel.onNotifyNotice = function (event) {
// {"nickName":"홍길동","roomId":"e7works","clientKey":"user고유키","message":"전송될 메시지","mimeType":"text","messageType":"notice","messageDt":"20200826172223","messageCount":5260,"grade":"user"}
console.log("onNotifyNotice", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 roomId String 채팅방 생성 후 발급받은 Channel Key nickName String 채팅방 입장 유저의 별명 clientKey String 메시지를 전송한 접속 단말 설정 고유키 message Date 전송한 메시지 mimeType String 메시지 형태 (text: 일반텍스트, emoji: 이모지) messageType String 빈값이면 일반 메시지, 공지일 경우 : "notice" messageDt String 전송 날짜 ( yyyyMMddHHmmss
형식)messageCount String 채팅방 메시지 전송 수 grade String 메시지를 전송한 유저의 등급 ( 사용자등급표
에서 확인 )
프로젝트에 적용할 코드
js
channel.onNotifyNotice = function (event) {
write(msg, "notice");
};
1
2
3
2
3
신규 유저접속 이벤트
js
channel.onNotifyJoinUser = function (event) {
// {"roomId":"e7works","clientKey":"4bcdb713","nickName":"엣지","grade":"user","joinCount":3476}
console.log("onNotifyJoinUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 roomId String 채팅방 생성 후 발급받은 Channel Key nickName String 채팅방 입장 유저의 별명 clientKey String 메시지를 전송한 접속 단말 설정 고유키 joinCount String 누적 유저수 grade String 메시지를 전송한 유저의 등급 ( 사용자등급표
에서 확인 )
프로젝트에 적용할 코드
js
channel.onNotifyJoinUser = function (event) {
write(event, "join");
};
1
2
3
2
3
유저가 나간 경우 이벤트
js
channel.onNotifyLeaveUser = function (event) {
// {"nickName":"엣지"}
console.log("onNotifyLeaveUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 nickName String 채팅방 입장 유저의 별명
프로젝트에 적용할 코드
js
channel.onNotifyLeaveUser = function (event) {
write(event, "leave");
};
1
2
3
2
3
채팅방에서 추방 이벤트
js
channel.onNotifyKickUser = function (event) {
// {"nickName":"tester_01"}
console.log("onNotifyKickUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 nickName String 채팅방 입장 유저의 별명
프로젝트에 적용할 코드
js
channel.onNotifyKickUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님이 채팅방에서 추방되었습니다."
);
};
1
2
3
4
5
6
7
2
3
4
5
6
7
채팅방에서 추방해제 이벤트
js
channel.onNotifyUnkickUser = function (event) {
// {"clientKey":"5000ec4b","messageDt":1598436375463}
console.log("onNotifyUnkickUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 clientKey String 메시지를 전송한 접속 단말 설정 고유키 messageDt Number 전송 날짜 (epoch time)
프로젝트에 적용할 코드
js
channel.onNotifyUnkickUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님이 채팅방에서 추방 해제되었습니다."
);
};
1
2
3
4
5
6
7
2
3
4
5
6
7
채팅방에서 글쓰기 제한 이벤트
js
channel.onNotifyMuteUser = function (event) {
// {"clientKey":"user고유키","nickName":"홍길동","messageDt":1598426153634}
console.log("onNotifyMuteUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 nickName String 채팅방 입장 유저의 별명 clientKey String 메시지를 전송한 접속 단말 설정 고유키 messageDt Number 전송 날짜 (epoch time)
프로젝트에 적용할 코드
js
channel.onNotifyMuteUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님의 글쓰기가 제한되었습니다."
);
};
1
2
3
4
5
6
7
2
3
4
5
6
7
채팅방에서 글쓰기 제한해제 이벤트
js
channel.onNotifyUnmuteUser = function (event) {
// {"clientKey":"user고유키","nickName":"홍길동","messageDt":1598954317679}
console.log("onNotifyUnmuteUser", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 nickName String 채팅방 입장 유저의 별명 clientKey String 메시지를 전송한 접속 단말 설정 고유키 messageDt Number 전송 날짜 (epoch time)
프로젝트에 적용할 코드
js
channel.onNotifyUnmuteUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님의 글쓰기가 제한 해제되었습니다."
);
};
1
2
3
4
5
6
7
2
3
4
5
6
7
채팅방에서 초대 이벤트
js
channel.onPersonalInvite = function (event) {
// { roomId: "채널키" }
console.log("onPersonalInvite", event);
};
1
2
3
4
2
3
4
푸시 결과 값
값 식별자 설명 roomId String 채팅방 입장을 위한 키
프로젝트에 적용할 코드
js
channel.onPersonalInvite = function (event) {
// 새로운 채널로 조인
privateChannel = vChatCloud.joinChannel(
{
roomId: event.roomId, // 전달받은 채널키로 진입
clientKey: clientKey, // 접속 클라이언트키
nickName: nickName, // 접속 닉네임
},
function (error, history) {
// 채팅룸 조인 후 이벤트
}
);
};
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
전체 코드
메시지 이벤트 전체코드
js
// msgInit() 부분은 login.js에 joinRoom 이 성공한 이후에 실행하도록 함
function msgInit() {
// 공지사항 메시지
channel.onNotifyNotice = function (event) {
write(event, "notice");
};
// 유저 입장
channel.onNotifyJoinUser = function (event) {
write(event, "join");
};
// 유저 나감
channel.onNotifyLeaveUser = function (event) {
write(event, "leave");
};
// 유저 추방
channel.onNotifyKickUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님이 채팅방에서 추방되었습니다."
);
};
// 유저 추방 해제
channel.onNotifyUnkickUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님이 채팅방에서 추방 해제되었습니다."
);
};
// 글쓰기 제한
channel.onNotifyMuteUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님의 글쓰기가 제한되었습니다."
);
};
// 글쓰기 제한 해제
channel.onNotifyUnmuteUser = function (event) {
write(
"'<font color='blue'><b>" +
event.nickName +
"</b></font>' 님의 글쓰기가 제한 해제되었습니다."
);
};
// 초대 이벤트
channel.onPersonalInvite = function (event) {
console.log("onPersonalInvite", event);
};
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58