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