You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.4 KiB
94 lines
2.4 KiB
export = EventManager;
|
|
/**
|
|
* Represents a manager for in-game events.
|
|
*/
|
|
declare class EventManager {
|
|
constructor(client: any);
|
|
/**
|
|
* The client instance.
|
|
* @type {Client}
|
|
* @readonly
|
|
*/
|
|
readonly client: Client;
|
|
/**
|
|
* The cache manager
|
|
* @type {CacheManager}
|
|
* @private
|
|
*/
|
|
private _cache;
|
|
/**
|
|
* List all available events by creation date
|
|
* @param {number} [page=0] The page number
|
|
* @returns {Promise<Array<EventSearchResult>>} The events
|
|
*/
|
|
listEvents(page?: number): Promise<Array<EventSearchResult>>;
|
|
/**
|
|
* Searches for an event by name
|
|
* @param {string} query The query
|
|
* @param {number} [page=0] The page number
|
|
* @returns {Promise<Array<EventSearchResult>>} The events
|
|
*/
|
|
search(query: string, page?: number): Promise<Array<EventSearchResult>>;
|
|
/**
|
|
* Fetches a Trackmania event and returns its data
|
|
* @param {number} eventId The event id
|
|
* @param {boolean} [cache=this.client.options.cache.enabled] Whether to get the map from cache or not
|
|
* @returns {Promise<TMEvent>} The event
|
|
* @example
|
|
* client.events.get(706).then(event => {
|
|
* console.log(event.name);
|
|
* });
|
|
*/
|
|
get(eventId: number, cache?: boolean): Promise<TMEvent>;
|
|
/**
|
|
* Fetches a event and returns its data
|
|
* @param {number} eventId The event id
|
|
* @param {boolean} [cache=this.client.options.cache.enabled] Whether to cache the map or not
|
|
* @returns {Event} The event
|
|
* @private
|
|
*/
|
|
private _fetch;
|
|
}
|
|
import Client = require("../client/Client");
|
|
/**
|
|
* The result of a campaign search. It is completely different from the {@link TMEvent} object.
|
|
*/
|
|
declare class EventSearchResult {
|
|
constructor(client: any, data: any);
|
|
/**
|
|
* The client instance
|
|
* @type {Client}
|
|
*/
|
|
client: Client;
|
|
/**
|
|
* The event's ID
|
|
* @type {number}
|
|
*/
|
|
id: number;
|
|
/**
|
|
* The event's competiton ID
|
|
* @type {number}
|
|
*/
|
|
compId: number;
|
|
/**
|
|
* The event's Club ID
|
|
* @type {number}
|
|
*/
|
|
clubId: number;
|
|
/**
|
|
* The event's name
|
|
* @type {string}
|
|
*/
|
|
name: string;
|
|
/**
|
|
* The event's creation date
|
|
* @type {Date}
|
|
*/
|
|
date: Date;
|
|
/**
|
|
* Return to the TMEvent Object
|
|
* @returns {Promise<TMEvent>}
|
|
*/
|
|
event(): Promise<TMEvent>;
|
|
}
|
|
import TMEvent = require("../structures/TMEvent");
|
|
|