UNPKG

@hsaadawy/ngx-chat

Version:
47 lines (46 loc) 2.41 kB
import { XmppChatAdapter } from '../xmpp-chat-adapter.service'; import { AbstractXmppPlugin } from './abstract-xmpp-plugin'; import { ServiceDiscoveryPlugin } from './service-discovery.plugin'; export declare const MUC_SUB_FEATURE_ID = "urn:xmpp:mucsub:0"; export declare enum MUC_SUB_EVENT_TYPE { presence = "urn:xmpp:mucsub:nodes:presence", messages = "urn:xmpp:mucsub:nodes:messages", affiliations = "urn:xmpp:mucsub:nodes:affiliations", subscribers = "urn:xmpp:mucsub:nodes:subscribers", config = "urn:xmpp:mucsub:nodes:config", subject = "urn:xmpp:mucsub:nodes:subject", system = "urn:xmpp:mucsub:nodes:system" } /** * support for https://docs.ejabberd.im/developer/xmpp-clients-bots/extensions/muc-sub/ */ export declare class MucSubPlugin extends AbstractXmppPlugin { private readonly xmppChatAdapter; private readonly serviceDiscoveryPlugin; private readonly supportsMucSub$; constructor(xmppChatAdapter: XmppChatAdapter, serviceDiscoveryPlugin: ServiceDiscoveryPlugin); onBeforeOnline(): PromiseLike<void>; private determineSupportForMucSub; onOffline(): void; subscribeRoom(roomJid: string, nodes?: string[]): Promise<void>; unsubscribeRoom(roomJid: string): Promise<void>; /** * A room moderator can unsubscribe others providing the their jid as attribute to the information query (iq) * see: https://docs.ejabberd.im/developer/xmpp-clients-bots/extensions/muc-sub/#unsubscribing-from-a-muc-room * @param roomJid for the room to be unsubscribed from * @param jid user id to be unsubscribed */ unsubscribeJidFromRoom(roomJid: string, jid: string): void; /** * A user can query the MUC service to get their list of subscriptions. * see: https://docs.ejabberd.im/developer/xmpp-clients-bots/extensions/muc-sub/#g dd ddetting-list-of-subscribed-rooms */ getSubscribedRooms(): Promise<any[]>; /** * A subscriber or room moderator can get the list of subscribers by sending <subscriptions/> request directly to the room JID. * see: https://docs.ejabberd.im/developer/xmpp-clients-bots/extensions/muc-sub/#getting-list-of-subscribers-of-a-room * @param roomJid of the room the get a subscriber list from */ getSubscribers(roomJid: string): void; retrieveSubscriptions(): Promise<Map<string, string[]>>; }