Skip to content

@mastondzn/dank-twitch-irc / ChatClient

Class: ChatClient ​

Defined in: src/client/client.ts:33

Extends ​

Constructors ​

Constructor ​

new ChatClient(configuration?): ChatClient

Defined in: src/client/client.ts:50

Parameters ​

configuration? ​

ClientConfiguration

Returns ​

ChatClient

Overrides ​

BaseClient.constructor

Properties ​

configuration ​

readonly configuration: ExpandedClientConfiguration

Defined in: src/client/base-client.ts:36

Inherited from ​

BaseClient.configuration


connectionMixins ​

readonly connectionMixins: ConnectionMixin[] = []

Defined in: src/client/client.ts:45


connectionPool? ​

optional connectionPool?: ConnectionPool

Defined in: src/client/client.ts:44


connections ​

readonly connections: SingleConnection[] = []

Defined in: src/client/client.ts:47


roomStateTracker ​

readonly roomStateTracker: RoomStateTracker

Defined in: src/client/client.ts:43


state ​

state: "UNCONNECTED" | "CONNECTING" | "CONNECTED" | "READY" | "CLOSED" = "UNCONNECTED"

Defined in: src/client/base-client.ts:40

Inherited from ​

BaseClient.state


userStateTracker ​

readonly userStateTracker: UserStateTracker

Defined in: src/client/client.ts:42


prefixed ​

static prefixed: string | boolean

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:9

Inherited from ​

BaseClient.prefixed

Accessors ​

closed ​

Get Signature ​

get closed(): boolean

Defined in: src/client/base-client.ts:32

Returns ​

boolean

Inherited from ​

BaseClient.closed


connected ​

Get Signature ​

get connected(): boolean

Defined in: src/client/base-client.ts:24

Returns ​

boolean

Inherited from ​

BaseClient.connected


connecting ​

Get Signature ​

get connecting(): boolean

Defined in: src/client/base-client.ts:20

Returns ​

boolean

Inherited from ​

BaseClient.connecting


joinedChannels ​

Get Signature ​

get joinedChannels(): Set<string>

Defined in: src/client/client.ts:38

Returns ​

Set<string>

Overrides ​

BaseClient.joinedChannels


ready ​

Get Signature ​

get ready(): boolean

Defined in: src/client/base-client.ts:28

Returns ​

boolean

Inherited from ​

BaseClient.ready


unconnected ​

Get Signature ​

get unconnected(): boolean

Defined in: src/client/base-client.ts:16

Returns ​

boolean

Inherited from ​

BaseClient.unconnected


wantedChannels ​

Get Signature ​

get wantedChannels(): Set<string>

Defined in: src/client/client.ts:34

Returns ​

Set<string>

Overrides ​

BaseClient.wantedChannels

Methods ​

addListener() ​

addListener<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:45

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

fn ​

(...args) => void

context? ​

any

Returns ​

this

Inherited from ​

BaseClient.addListener


advanceState() ​

advanceState(newState): boolean

Defined in: src/client/base-client.ts:84

Parameters ​

newState ​

"UNCONNECTED" | "CONNECTING" | "CONNECTED" | "READY" | "CLOSED"

Returns ​

boolean

Inherited from ​

BaseClient.advanceState


close() ​

close(): void

Defined in: src/client/client.ts:85

Returns ​

void


collectChatMessages() ​

collectChatMessages(options?): AsyncGenerator<PrivmsgMessage, void, void>

Defined in: src/client/client.ts:426

Parameters ​

options? ​

the options object

filter? ​

(message) => boolean

only chat messages for which this function returns true will be yielded

limit? ​

number

the generator will end after yielding this many messages

stopOn? ​

(message) => boolean

the generator will end after yielding a message for which this predicate returns true

timeout? ​

number

the generator will end after this many milliseconds

Returns ​

AsyncGenerator<PrivmsgMessage, void, void>

An async generator yielding matching messages


collectMessages() ​

collectMessages<TMessage>(options?): AsyncGenerator<TMessage, void, void>

Defined in: src/client/client.ts:346

Type Parameters ​

TMessage ​

TMessage extends IRCMessage = IRCMessage

Parameters ​

options? ​

the options object

filter? ​

(message) => message is TMessage

only messages for which this function returns true will be yielded. This can be used with type guards to create typed async generators, e.g. for only chat messages (PrivmsgMessage).

limit? ​

number

the generator will end after yielding this many messages

stopOn? ​

(message) => boolean

the generator will end after yielding a message for which this predicate returns true

timeout? ​

number

the generator will end after this many milliseconds

Returns ​

AsyncGenerator<TMessage, void, void>

An async generator yielding matching messages


connect() ​

connect(): Promise<void>

Defined in: src/client/client.ts:78

Returns ​

Promise<void>


destroy() ​

destroy(error?): void

Defined in: src/client/client.ts:90

Parameters ​

error? ​

Error

Returns ​

void


emit() ​

emit<T>(event, ...args): boolean

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:32

Calls each of the listeners registered for a given event.

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

args ​

...ArgumentMap<ClientEvents>[Extract<T, string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents>]

Returns ​

boolean

Inherited from ​

BaseClient.emit


emitClosed() ​

emitClosed(error?): void

Defined in: src/client/base-client.ts:78

Parameters ​

error? ​

Error

Returns ​

void

Inherited from ​

BaseClient.emitClosed


emitConnected() ​

emitConnected(): void

Defined in: src/client/base-client.ts:66

Returns ​

void

Inherited from ​

BaseClient.emitConnected


emitConnecting() ​

emitConnecting(): void

Defined in: src/client/base-client.ts:60

Returns ​

void

Inherited from ​

BaseClient.emitConnecting


emitError() ​

emitError(error, emitEvenIfClosed?): void

Defined in: src/client/base-client.ts:47

Parameters ​

error ​

Error

emitEvenIfClosed? ​

boolean = false

Returns ​

void

Inherited from ​

BaseClient.emitError


emitMessage() ​

emitMessage(message): void

Defined in: src/client/base-client.ts:55

Parameters ​

message ​

IRCMessage

Returns ​

void

Inherited from ​

BaseClient.emitMessage


emitReady() ​

emitReady(): void

Defined in: src/client/base-client.ts:72

Returns ​

void

Inherited from ​

BaseClient.emitReady


eventNames() ​

eventNames(): (string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents)[]

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:15

Return an array listing the events for which the emitter has registered listeners.

Returns ​

(string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents)[]

Inherited from ​

BaseClient.eventNames


join() ​

join(channelName): Promise<void>

Defined in: src/client/client.ts:111

Parameters ​

channelName ​

string

Returns ​

Promise<void>


joinAll() ​

joinAll(channelNames): Promise<Record<string, Error | undefined>>

Defined in: src/client/client.ts:148

Parameters ​

channelNames ​

string[]

Returns ​

Promise<Record<string, Error | undefined>>


listenerCount() ​

listenerCount(event): number

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:27

Return the number of listeners listening to a given event.

Parameters ​

event ​

string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Returns ​

number

Inherited from ​

BaseClient.listenerCount


listeners() ​

listeners<T>(event): (...args) => void[]

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:20

Return the listeners registered for a given event.

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

Returns ​

(...args) => void[]

Inherited from ​

BaseClient.listeners


me() ​

me(channelName, message): Promise<void>

Defined in: src/client/client.ts:230

Parameters ​

channelName ​

string

message ​

string

Returns ​

Promise<void>


newConnection() ​

newConnection(): SingleConnection

Defined in: src/client/client.ts:265

Returns ​

SingleConnection


off() ​

off<T>(event, fn?, context?, once?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:69

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

fn? ​

(...args) => void

context? ​

any

once? ​

boolean

Returns ​

this

Inherited from ​

BaseClient.off


on() ​

on<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:40

Add a listener for a given event.

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

fn ​

(...args) => void

context? ​

any

Returns ​

this

Inherited from ​

BaseClient.on


once() ​

once<T>(event, fn, context?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:54

Add a one-time listener for a given event.

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

fn ​

(...args) => void

context? ​

any

Returns ​

this

Inherited from ​

BaseClient.once


part() ​

part(channelName): Promise<void>

Defined in: src/client/client.ts:133

Parameters ​

channelName ​

string

Returns ​

Promise<void>


ping() ​

ping(): Promise<void>

Defined in: src/client/client.ts:261

Returns ​

Promise<void>


privmsg() ​

privmsg(channelName, message): Promise<void>

Defined in: src/client/client.ts:214

Parameters ​

channelName ​

string

message ​

string

Returns ​

Promise<void>


removeAllListeners() ​

removeAllListeners(event?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:79

Remove all listeners, or those of the specified event.

Parameters ​

event? ​

string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Returns ​

this

Inherited from ​

BaseClient.removeAllListeners


removeListener() ​

removeListener<T>(event, fn?, context?, once?): this

Defined in: node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.d.ts:63

Remove the listeners of a given event.

Type Parameters ​

T ​

T extends string & Record<never, never> | "CLEARCHAT" | "CLEARMSG" | "GLOBALUSERSTATE" | "HOSTTARGET" | "NOTICE" | "PRIVMSG" | "ROOMSTATE" | "USERNOTICE" | "USERSTATE" | "WHISPER" | "JOIN" | "PART" | "RECONNECT" | "PING" | "PONG" | "CAP" | keyof SpecificClientEvents

Parameters ​

event ​

T

fn? ​

(...args) => void

context? ​

any

once? ​

boolean

Returns ​

this

Inherited from ​

BaseClient.removeListener


reply() ​

reply(channelName, messageId, message): Promise<void>

Defined in: src/client/client.ts:245

Parameters ​

channelName ​

string

The channel name you want to reply in.

messageId ​

string

The message ID you want to reply to.

message ​

string

The message you want to send.

Returns ​

Promise<void>


requireConnection() ​

requireConnection(predicate?): SingleConnection

Defined in: src/client/client.ts:448

Finds a connection from the list of connections that satisfies the given predicate, or if none was found, returns makes a new connection. This means that the given predicate must be specified in a way that a new connection always satisfies it.

Parameters ​

predicate? ​

ConnectionPredicate = ...

The predicate the connection must fulfill.

Returns ​

SingleConnection


say() ​

say(channelName, message): Promise<void>

Defined in: src/client/client.ts:220

Parameters ​

channelName ​

string

message ​

string

Returns ​

Promise<void>


sendRaw() ​

sendRaw(command): void

Defined in: src/client/client.ts:107

Sends a raw IRC command to the server, e.g. JOIN #forsen.

Throws an exception if the passed command contains one or more newline characters.

Parameters ​

command ​

string

Raw IRC command.

Returns ​

void


use() ​

use(mixin): void

Defined in: src/client/client.ts:320

Parameters ​

mixin ​

ClientMixin

Returns ​

void