@ohd-tools/rcon
Version:
An RCON Interface for Operation: Harsh Doorstop
69 lines (68 loc) • 2.2 kB
TypeScript
import EventEmitter from 'events';
import type { OHD } from './OHD';
import type { Teams } from './definitions/Teams';
import { PlayerKicked } from './definitions/PlayerKicked';
import { PlayerBanned } from './definitions/PlayerBanned';
type PlayerProps = {
id: number;
steam64: string | null;
name: string;
created?: Date;
};
/**
* Generic Player Object
*/
export declare class Player {
id: PlayerProps['id'];
steam64: PlayerProps['steam64'];
name: PlayerProps['name'];
created: Date;
_events: EventEmitter;
protected _controller: OHD;
constructor(controller?: OHD | PlayerProps | null, $b?: PlayerProps);
/**
* The player has Left the Server
*/
on(event: 'PLAYER_LEFT', cb: () => void): EventEmitter;
/**
* The player has been cleared out of memory
*/
on(event: 'PLAYER_DELETED', cb: () => void): EventEmitter;
/**
* The player has been Kicked
*/
on(event: 'PLAYER_KICKED', cb: (event: PlayerKicked) => void): EventEmitter;
/**
* The player has been Banned
*/
on(event: 'PLAYER_BANNED', cb: (event: PlayerBanned) => void): EventEmitter;
removeListener(event: Parameters<EventEmitter['removeListener']>[0], cb: Parameters<EventEmitter['removeListener']>[1]): EventEmitter;
/**Is the player a Bot */
get isBot(): boolean;
protected get hasController(): boolean;
protected controllerReject(): Promise<{
success: false;
reason: string;
}>;
/**Kick the current `Player` */
kick(reason?: string): Promise<{
success: false;
reason: string;
}> | Promise<PlayerKicked>;
/**Ban the current `Player` */
ban(duration?: number, reason?: string): Promise<{
success: false;
reason: string;
}> | Promise<PlayerBanned>;
/**Set the team of the current `Player` */
setTeam(teamId: 0 | 1 | Teams): Promise<unknown>;
/**
* Give the user Admin Access
*/
addAdmin(): Promise<import("./definitions/CommandSuccess").CommandSuccess>;
/**
* Revoke the users Admin Access
*/
removeAdmin(): Promise<import("./definitions/CommandSuccess").CommandSuccess>;
}
export {};