fix: add irc-framework type declarations for TypeScript build
This commit is contained in:
Vendored
+142
@@ -0,0 +1,142 @@
|
||||
declare module 'irc-framework' {
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
interface ClientOptions {
|
||||
host?: string;
|
||||
port?: number;
|
||||
tls?: boolean;
|
||||
nick?: string;
|
||||
username?: string;
|
||||
gecos?: string;
|
||||
password?: string;
|
||||
auto_reconnect?: boolean;
|
||||
account?: {
|
||||
account: string;
|
||||
password: string;
|
||||
};
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
interface MessageEvent {
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
target: string;
|
||||
message: string;
|
||||
tags: Record<string, string>;
|
||||
from_server: boolean;
|
||||
type: string;
|
||||
time?: number;
|
||||
reply: (message: string) => void;
|
||||
}
|
||||
|
||||
interface JoinEvent {
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
channel: string;
|
||||
time?: number;
|
||||
gecos?: string;
|
||||
account?: string;
|
||||
}
|
||||
|
||||
interface PartEvent {
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
channel: string;
|
||||
message: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface QuitEvent {
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
message: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface KickEvent {
|
||||
kicked: string;
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
channel: string;
|
||||
message: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface NickEvent {
|
||||
nick: string;
|
||||
new_nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface TopicEvent {
|
||||
nick: string;
|
||||
ident: string;
|
||||
hostname: string;
|
||||
channel: string;
|
||||
topic: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface ModeEvent {
|
||||
nick: string;
|
||||
target: string;
|
||||
modes: Array<{
|
||||
mode: string;
|
||||
param?: string;
|
||||
}>;
|
||||
raw_modes: string;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
interface RegisteredEvent {
|
||||
nick: string;
|
||||
}
|
||||
|
||||
interface ErrorEvent {
|
||||
error: string;
|
||||
channel?: string;
|
||||
reason?: string;
|
||||
}
|
||||
|
||||
class Client extends EventEmitter {
|
||||
constructor();
|
||||
connect(options: ClientOptions): void;
|
||||
quit(message?: string): void;
|
||||
join(channel: string, key?: string): void;
|
||||
part(channel: string, message?: string): void;
|
||||
say(target: string, message: string): void;
|
||||
notice(target: string, message: string): void;
|
||||
action(target: string, message: string): void;
|
||||
changeNick(nick: string): void;
|
||||
raw(line: string): void;
|
||||
user: {
|
||||
nick: string;
|
||||
username: string;
|
||||
gecos: string;
|
||||
};
|
||||
|
||||
on(event: 'registered', listener: (event: RegisteredEvent) => void): this;
|
||||
on(event: 'privmsg' | 'action', listener: (event: MessageEvent) => void): this;
|
||||
on(event: 'notice', listener: (event: MessageEvent) => void): this;
|
||||
on(event: 'join', listener: (event: JoinEvent) => void): this;
|
||||
on(event: 'part', listener: (event: PartEvent) => void): this;
|
||||
on(event: 'quit', listener: (event: QuitEvent) => void): this;
|
||||
on(event: 'kick', listener: (event: KickEvent) => void): this;
|
||||
on(event: 'nick', listener: (event: NickEvent) => void): this;
|
||||
on(event: 'topic', listener: (event: TopicEvent) => void): this;
|
||||
on(event: 'mode', listener: (event: ModeEvent) => void): this;
|
||||
on(event: 'close' | 'socket close', listener: () => void): this;
|
||||
on(event: 'irc error', listener: (event: ErrorEvent) => void): this;
|
||||
on(event: string, listener: (...args: any[]) => void): this;
|
||||
}
|
||||
|
||||
export default { Client };
|
||||
export { Client, ClientOptions, MessageEvent, JoinEvent, PartEvent, QuitEvent, KickEvent, NickEvent, TopicEvent, ModeEvent, RegisteredEvent, ErrorEvent };
|
||||
}
|
||||
Reference in New Issue
Block a user