Klat
  • Klat SDK
  • Android
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
    • What's New
  • iOS
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
    • What's New
  • Unity
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
    • Sample Application
  • JavaScript
    • Getting Started
    • Realtime Event
    • Pagination
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification (FCM)
    • Sample Application
    • What's New
  • Flutter
    • Getting Started
    • Callback
    • User
      • 사용자 생성 / 로그인
      • 사용자 정보 업데이트
      • 사용자 차단 목록 관리
      • 사용자 로그아웃
      • 사용자 삭제
    • Channel
      • 채널 생성 / 삭제
      • 채널 조회
      • 채널 정보 업데이트
      • 채널 목록 조회
      • 채널 사용자 관리
      • 채널 참여 / 나가기
      • 채널 내 메시징
      • 채널 숨기기 / 보이기
      • 채널 Freeze / Unfreeze
      • 채널 주인 변경
      • 채널 푸시알림 설정
      • 채널별 개인 데이터 설정
    • Push Notification
  • REST API
    • Getting Started
    • API
      • User
        • 사용자 생성
        • 사용자 로그인 (로그인 토큰)
        • 사용자 조회
        • 사용자 정보 업데이트
        • 사용자 활성화 / 비활성화
        • 사용자 푸시 알림 설정
        • 사용자 삭제
        • 사용자 목록 조회
        • 사용자 채널 조회
        • 사용자 차단 목록 관리
      • Channel
        • 채널 생성
        • 채널 조회
        • 채널 정보 업데이트
        • 채널 삭제
        • 채널 목록 조회
        • 채널 사용자 관리
        • 채널 내 메시징
        • 채널 숨기기 / 보이기
        • 채널 Freeze / Unfreeze
        • 채널 주인 변경
        • 채널 알림 설정
      • App
        • 앱 조회
        • 앱 생성
        • 앱 삭제
      • Bot
        • 봇 생성
        • 봇 목록 조회
        • 봇 조회
        • 봇 정보 업데이트
        • 봇 삭제
        • 봇 채널 목록 조회
        • 봇 채널 내 메시징
        • 봇 채널 참여 / 나가기
    • Push Notification
    • Rate Limit
  • MISC
    • Webhooks
    • SDK Rate Limit
    • Error Code
    • FAQ
      • Function
      • Spec
Powered by GitBook
On this page
  1. JavaScript

Realtime Event

Client로 로그인 후, 가입되어 있는 채널에서 발생한 이벤트(채널 정보 변경, 새로운 멤버, 메시지 수신 등)를 핸들링 할 수 있습니다.

const client = new TalkPlus.Client({appId: 'YOUR_APP_ID'});

await client.loginAnonymous({userId: 'your_user_id', username: 'yourName'})

client.on('event', yourListenerFunc);

function yourListenerFunc(data) {
	if (data.type === 'message') {
		console.log("message event");
	}
	
	if (data.type === 'messageDeleted') {
		console.log("message deleted event");
	}

	if (data.type === 'channelAdded') {
		console.log("new channel added with me as member");
	}

	if (data.type === 'channelChanged') {
		console.log("one of my channels changed");
	}

	if (data.type === 'channelRemoved') {
		console.log("one of my channels was removed");
	}

	if (data.type === 'memberAdded') {
		console.log("new channel member");
	}

	if (data.type === 'memberLeft') {
		console.log("channel member left");
	}
	
	if (data.type === 'memberMuted') {
		console.log("channel member muted");
	}
	
	if (data.type === 'memberUnmuted') {
		console.log("channel member unmuted");
	}
	
	if (data.type === 'memberBanned') {
		console.log("channel member banned");
	}
	
	if (data.type === 'memberUnbanned') {
		console.log("channel member unbanned");
	}
}

// remove event listener
client.off('event', yourListenerFunc);

모두에게 공개된 public 및 super_public 타입 채널에서 발생하는 이벤트는 다음과 같이 핸들링 할 수 있습니다.

const client = new TalkPlus.Client({appId: 'YOUR_APP_ID'});

await client.loginAnonymous({userId: 'your_user_id', username: 'yourName'})

client.publicChannelsEventListener.on('event', yourPublicChannelListenerFunc);

function yourPublicChannelListenerFunc(data) {
	if (data.type === 'channelAdded') {
		console.log("new public channel added");
	}

	if (data.type === 'channelChanged') {
		console.log("public channel changed");
	}

	if (data.type === 'channelRemoved') {
		console.log("public channel removed");
	}

	if (data.type === 'memberAdded') {
		console.log("new public channel member");
	}

	if (data.type === 'memberLeft') {
		console.log("public channel member left");
	}
	
	if (data.type === 'memberMuted') {
		console.log("public channel member muted");
	}

	if (data.type === 'memberUnmuted') {
		console.log("public channel member unmuted");
	}
	
	if (data.type === 'memberBanned') {
		console.log("public channel member banned");
	}

	if (data.type === 'memberUnbanned') {
		console.log("public channel member unbanned");
	}
}

// remove event listener
client.publicChannelsEventListener.off('event', yourPublicChannelListenerFunc);
PreviousGetting StartedNextPagination

Last updated 12 months ago