irclib/src/types/irc.interfaces.ts

56 lines
981 B
TypeScript

export interface IIRCUser {
nickname: string;
username: string;
hostname: string;
}
export interface IIRCLine {
user: IIRCUser;
command: string;
arguments?: string[];
trailing?: string;
raw: string;
}
export interface IUserLine {
command: string;
arguments?: string[];
message: string;
}
export interface IQueue<T = any> {
untracked?: boolean;
await: string;
additional?: string[];
from?: string;
buffer?: T;
do(line: IIRCLine, data?: T): void;
digest?(line: IIRCLine): void;
}
export interface INickServOptions {
enabled: boolean;
command: string;
nickservBot?: string;
responseCommand?: string;
}
export interface IIRCOptions {
nick: string;
host: string;
username?: string;
hostname?: string;
realname?: string;
port?: number;
password?: string | null;
sasl?: boolean;
ssl?: boolean;
channels?: string[];
nickserv?: INickServOptions;
}
export interface INickStore {
checked: number;
result: boolean;
}