Options
All
  • Public
  • Public/Protected
  • All
Menu

Chatroom contains APIs for chatroom-related operations.

Index

Functions

  • createChatRoom(this: any, params: { description: string; maxusers: number; members?: string[]; name: string; token?: string; error?: any; success?: any }): Promise<AsyncResult<CreateChatRoomResult>>
  • Creates a chat room.

    connection.createChatRoom({name: 'myChatRoom', description: 'this is my chatroom', maxusers: 200, members: ['user1'], token: 'your token'})
    

    Parameters

    • this: any
    • params: { description: string; maxusers: number; members?: string[]; name: string; token?: string; error?: any; success?: any }
      • description: string

        The description of the chat room.

      • maxusers: number

        The maximum number of members in the chat room, including the chat room creator. The value is an integer in the range of [1,5000], with 200 as the default.

      • Optional members?: string[]

        (Optional) The members in the chat room. An array of user IDs of members. If you set this parameter, ensure that the array contains at least one user ID.

      • name: string

        The chat room name.

      • Optional token?: string

        The super admin token.

      • error?:function
      • success?:function

    Returns Promise<AsyncResult<CreateChatRoomResult>>

  • getChatRoomAllowlist(this: any, params: { chatRoomId: string; error?: any; success?: any }): Promise<AsyncResult<UserId[]>>
  • Gets the allow list of the chat room.

    Only the chat room owner or admin can call this method.

    connection.getChatRoomWhitelist({chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: any
    • params: { chatRoomId: string; error?: any; success?: any }

    Returns Promise<AsyncResult<UserId[]>>

  • Gets all of the chat room custom attributes.

    connection.getChatRoomAttributes({chatRoomId: 'chatRoomId', attributes:["attributeKey1","attributeKey2"]})
    

    Parameters

    • this: any
    • params: { attributeKeys?: string[]; chatRoomId: string }
      • Optional attributeKeys?: string[]

        The custom attribute to get. If you pass the attribute key, the SDK returns the attribute value. If you set it as null, the SDK returns all the attributes value.

      • chatRoomId: string

        The chat room ID.

    Returns Promise<AsyncResult<GetChatroomAttributesResult>>

  • getChatRoomBlocklist(this: any, params: { chatRoomId: string; error?: any; success?: any }): Promise<AsyncResult<UserId[]>>
  • Gets the block list of the chat room.

    connection.getChatRoomBlocklist({chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: any
    • params: { chatRoomId: string; error?: any; success?: any }

    Returns Promise<AsyncResult<UserId[]>>

  • Gets the list chat room members with pagination.

    connection.getChatRoomMembers({cursor: '', limit: 50, chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: Connection
    • params: { chatRoomId: string; cursor?: string; limit?: number }
      • chatRoomId: string

        The chat room ID.

      • Optional cursor?: string

        The cursor that specifies where to start to get data. If there will be data on the next page, this method will return the value of this field to indicate the position to start to get data of the next page. If it is null, the data of the first page will be fetched.

      • Optional limit?: number

        The number of members retrieved per page. The value range is [1,50], with 50 as the default.

    Returns Promise<AsyncResult<{ cursor: string | undefined; members: FetchedGroupMember[] }>>

  • Gets the chat room list with pagination.

    connection.getChatRooms({pagenum: 1, pagesize: 20})
    

    Parameters

    • this: any
    • params: { pagenum: number; pagesize: number; error?: any; success?: any }

    Returns Promise<AsyncResult<GetChatRoomsResult>>

  • Gets the list of chat rooms that a user has joined.

    connection.getJoinedChatRooms({pageNum: 1, pageSize: 20})
    

    Parameters

    • this: Connection
    • params: { pageNum: number; pageSize: number }
      • pageNum: number

        The page number, starting from 1.

      • pageSize: number

        The number of chat rooms to get per page. The value cannot exceed 500.

    Returns Promise<AsyncResult<JoinedChatRoomsResult>>

  • isInChatRoomMutelist(this: any, params: { chatRoomId: string }): Promise<AsyncResult<boolean>>
  • Check whether you are on the chat room mute list.

    connection.isInChatRoomMutelist({chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: any
    • params: { chatRoomId: string }
      • chatRoomId: string

        The chat room ID.

    Returns Promise<AsyncResult<boolean>>

  • joinChatRoom(this: any, params: { ext?: string; leaveOtherRooms?: boolean; message?: string; roomId: string; error?: any; success?: any }): Promise<AsyncResult<JoinChatRoomResult>>
  • Joins the chat room.

    note

    After a user joins successfully, other members in the chat room will receive operation: 'memberPresence' in the onChatroomEvent callback.

    connection.joinChatRoom({roomId: 'roomId'})
    

    Parameters

    • this: any
    • params: { ext?: string; leaveOtherRooms?: boolean; message?: string; roomId: string; error?: any; success?: any }
      • Optional ext?: string

        Extension fields carried when joining a chat room.

      • Optional leaveOtherRooms?: boolean

        Whether to leave all the currently joined chat rooms when joining a chat room.

        • true: The user joins the chat room, while leaving all other chat rooms.
        • (Default) false: The user joins the chat room, without leaving all other chat rooms.
      • Optional message?: string

        The reason for joining the chat room. This parameter does not take effect. You can ignore it.

      • roomId: string

        The chat room ID.

      • error?:function
      • success?:function

    Returns Promise<AsyncResult<JoinChatRoomResult>>

  • leaveChatRoom(this: any, params: { roomId: string; error?: any; success?: any }): Promise<AsyncResult<{ result: boolean }>>
  • Exits the chat room.

    note

    When a member exits the chat room, other members will receive "operation: 'memberAbsence'" in the callback of onChatroomEvent.

    connection.leaveChatRoom({roomId: 'roomId'})
    

    Parameters

    • this: any
    • params: { roomId: string; error?: any; success?: any }

    Returns Promise<AsyncResult<{ result: boolean }>>

  • listChatRoomMembers(this: any, params: { chatRoomId: string; pageNum: number; pageSize: number; error?: any; success?: any }): Promise<AsyncResult<BaseMembers[]>>
  • Lists all chat room members with pagination.

    deprecated

    use getChatRoomMembers instead.

    connection.listChatRoomMembers({pageNum: 1, pageSize: 20, chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: any
    • params: { chatRoomId: string; pageNum: number; pageSize: number; error?: any; success?: any }
      • chatRoomId: string

        The chat room ID.

      • pageNum: number

        The page number, starting from 1.

      • pageSize: number

        The number of members that you expect to get on each page. The value range is [1,1000].

      • error?:function
      • success?:function

    Returns Promise<AsyncResult<BaseMembers[]>>

  • modifyChatRoom(this: any, params: { chatRoomId: string; chatRoomName?: string; description?: string; maxusers?: number; error?: any; success?: any }): Promise<AsyncResult<ModifyChatRoomResult>>
  • Modifies the specifications of the chat room.

    connection.modifyChatRoom({chatRoomId: 'chatRoomId', chatRoomName: 'chatRoomName', description: 'description', maxusers: 5000})
    

    Parameters

    • this: any
    • params: { chatRoomId: string; chatRoomName?: string; description?: string; maxusers?: number; error?: any; success?: any }

    Returns Promise<AsyncResult<ModifyChatRoomResult>>

  • muteChatRoomMember(this: any, params: { chatRoomId: string; muteDuration: number; username: string; error?: any; success?: any }): Promise<AsyncResult<MuteChatRoomMemberResult>>
  • Mutes chat room member.

    note

    Only the chat room owner or admins can call this method. The muted member and other admins will receive "operation:'muteMember'" in the callback of onChatroomEvent.

    connection.muteChatRoomMember({username: 'user1', muteDuration: -1, chatRoomId: 'chatRoomId'})
    

    Parameters

    • this: any
    • params: { chatRoomId: string; muteDuration: number; username: string; error?: any; success?: any }

    Returns Promise<AsyncResult<MuteChatRoomMemberResult>>

  • Removes chat room admins.

    note

    Only the chat room owner can call this method. The users whose admin privileges are removed will receive "operation: 'removeAdmin'" in the callback of onChatroomEvent.

    connection.removeChatRoomAdmin({chatRoomId: 'chatRoomId', username: 'user1'})
    

    Parameters

    Returns Promise<AsyncResult<RemoveChatRoomAdminResult>>

  • Removes members from the allow list of the chat room. Only the chat room owner or admin can call this method. The users who are removed will receive "operation:'removeAllowlistMember'" in the callback of onChatroomEvent..

    connection.removeChatRoomAllowlistMember({chatRoomId: 'chatRoomId', userName: 'user1'})
    

    Parameters

    Returns Promise<AsyncResult<ChatRoomType.CommonRequestResult>>

  • removeChatRoomAttribute(this: any, params: { attributeKey: string; chatRoomId: string; isForced?: boolean }): Promise<void>
  • Removes a chat room attribute.

    connection.removeChatRoomAttributes({chatRoomId: 'chatRoomId', attributeKeys: ['string1','string2'], isForced: boolean })
    

    Parameters

    • this: any
    • params: { attributeKey: string; chatRoomId: string; isForced?: boolean }
      • attributeKey: string

        The key of the chat room attribute to delete.

      • chatRoomId: string

        The chat room ID.

      • Optional isForced?: boolean

        Whether to allow a member to overwrite any chat room attribute set by any member.

        • true: Yes;
        • (Default)false: No.

    Returns Promise<void>

  • removeChatRoomAttributes(this: any, params: { attributeKeys: string[]; chatRoomId: string; isForced?: boolean }): Promise<AsyncResult<ChatroomAttributes>>
  • Removes custom chat room attributes.

    connection.removeChatRoomAttributes({chatRoomId: 'chatRoomId', attributeKeys: ['attributeKey1','attributeKey2'], isForced: false })
    

    Parameters

    • this: any
    • params: { attributeKeys: string[]; chatRoomId: string; isForced?: boolean }
      • attributeKeys: string[]

        The array of keys of attributes to remove. The array can contain a maximum number of 10 attribute keys.

      • chatRoomId: string

        The chat room ID.

      • Optional isForced?: boolean

        Whether to allow chat room members to overwrite the chat room attributes set by others.

        • true: Yes;
        • (Default)false: No.

    Returns Promise<AsyncResult<ChatroomAttributes>>

  • Sets a member as the chat room admin.

    note

    Only the chat room owner can call this method. The new admin will receive "operation: 'setAdmin'" in the callback of onChatroomEvent.

    connection.setChatRoomAdmin({chatRoomId: 'chatRoomId', username: 'user1'})
    

    Parameters

    Returns Promise<AsyncResult<SetChatRoomAdminResult>>

  • setChatRoomAttribute(this: any, params: { attributeKey: string; attributeValue: string; autoDelete?: boolean; chatRoomId: string; isForced?: boolean }): Promise<void>
  • Sets a custom chat room attribute.

    connection.setChatroomAttribute({chatRoomId: 'chatRoomId', attributeKey: "attributeKey1", attributeValue: "attributeValue1", autoDelete: true, isForced: false})
    

    Parameters

    • this: any
    • params: { attributeKey: string; attributeValue: string; autoDelete?: boolean; chatRoomId: string; isForced?: boolean }
      • attributeKey: string

        The chat room attribute key. A single key cannot exceed 128 characters; the total number of keys in a chat room cannot exceed 100. The following character sets are supported:

        • 26 lowercase English letters (a-z)
        • 26 uppercase English letters (A-Z)
        • 10 numbers (0-9)
        • "_", "-", "."
      • attributeValue: string

        The chat room attribute value. The attribute value can contain a maximum of 4096 characters. The total length of custom chat room attributes cannot exceed 10 GB for each app.

      • Optional autoDelete?: boolean

        Whether to delete chat room attributes set by the member when he or she exits the chat room.

        • (Default)true: Yes;
        • false: No.
      • chatRoomId: string

        The chat room ID.

      • Optional isForced?: boolean

        Whether to delete chat room attributes set by the member when he or she exits the chat room.

        • (Default)true: Yes;
        • false: No.

    Returns Promise<void>

  • setChatRoomAttributes(this: any, params: { attributes: {}; autoDelete?: boolean; chatRoomId: string; isForced?: boolean }): Promise<AsyncResult<ChatroomAttributes>>
  • Sets the chat room attributes in batches.

    connection.setChatRoomAttributes({chatRoomId: 'chatRoomId', attributes: {"attributeKey1": "attributeValue1"}, autoDelete: true, isForced: false})
    

    Parameters

    • this: any
    • params: { attributes: {}; autoDelete?: boolean; chatRoomId: string; isForced?: boolean }
      • attributes: {}

        The map of custom chat room attributes.

        • [key: string]: string
      • Optional autoDelete?: boolean

        Whether to delete chat room attributes set by the member when he or she exits the chat room. - (Default)true: Yes. - false: No.

      • chatRoomId: string

        The chat room ID.

      • Optional isForced?: boolean

        Whether to allow a member to overwrite the chat room attribute set by another member. - true: Yes. -(Default)false: No.

    Returns Promise<AsyncResult<ChatroomAttributes>>

  • Unmutes the chat room member.

    note

    Only the chat room owner can call this method. The members who are unmuted and other admins will receive "operation: 'unmuteMember'" in the callback of onChatroomEvent.

    connection.unmuteChatRoomMember({chatRoomId: 'chatRoomId', username: 'user1'})
    

    Parameters

    Returns Promise<AsyncResult<UnmuteChatRoomMemberResult[]>>

  • uploadChatRoomSharedFile(this: any, params: { file: object; roomId: string; onFileUploadCanceled?: any; onFileUploadComplete?: any; onFileUploadError?: any; onFileUploadProgress?: any }): void
  • Uploads a shared file to the chat room.

    connection.uploadChatRoomSharedFile({roomId: 'roomId', file: 'file object', onFileUploadProgress: onFileUploadProgress, onFileUploadComplete: onFileUploadComplete,onFileUploadError:onFileUploadError,onFileUploadCanceled:onFileUploadCanceled})
    

    Parameters

    • this: any
    • params: { file: object; roomId: string; onFileUploadCanceled?: any; onFileUploadComplete?: any; onFileUploadError?: any; onFileUploadProgress?: any }
      • file: object

        The shared file object to upload.

      • roomId: string

        The chat room ID.

      • onFileUploadCanceled?:function
        • onFileUploadCanceled(): void
        • The upload cancellation callback.

          Returns void

      • onFileUploadComplete?:function
        • onFileUploadComplete(data: any): void
        • The upload completion callback.

          Parameters

          • data: any

          Returns void

      • onFileUploadError?:function
        • onFileUploadError(data: any): void
        • The upload failure callback.

          Parameters

          • data: any

          Returns void

      • onFileUploadProgress?:function
        • onFileUploadProgress(data: any): void
        • The upload progress callback.

          Parameters

          • data: any

          Returns void

    Returns void

Generated using TypeDoc