miner grammer/typo fixes is comments. Changed all comments I can find to consider method as a singular noun, tho I might missed a few comments
This commit is contained in:
parent
903f5999aa
commit
fe6930c065
15 changed files with 68 additions and 68 deletions
|
@ -8,7 +8,7 @@ import { Collection } from '../utils/collection.ts'
|
||||||
*/
|
*/
|
||||||
export class BaseManager<T, T2> {
|
export class BaseManager<T, T2> {
|
||||||
client: Client
|
client: Client
|
||||||
/** Cache Name or Key used to differentiate caches */
|
/** Caches Name or Key used to differentiate caches */
|
||||||
cacheName: string
|
cacheName: string
|
||||||
/** Which data type does this cache have */
|
/** Which data type does this cache have */
|
||||||
DataType: any
|
DataType: any
|
||||||
|
@ -19,36 +19,36 @@ export class BaseManager<T, T2> {
|
||||||
this.DataType = DataType
|
this.DataType = DataType
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get raw value from a cache (payload) */
|
/** Gets raw value from a cache (payload) */
|
||||||
async _get(key: string): Promise<T | undefined> {
|
async _get(key: string): Promise<T | undefined> {
|
||||||
return this.client.cache.get(this.cacheName, key)
|
return this.client.cache.get(this.cacheName, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get a value from Cache */
|
/** Gets a value from Cache */
|
||||||
async get(key: string): Promise<T2 | undefined> {
|
async get(key: string): Promise<T2 | undefined> {
|
||||||
const raw = await this._get(key)
|
const raw = await this._get(key)
|
||||||
if (raw === undefined) return
|
if (raw === undefined) return
|
||||||
return new this.DataType(this.client, raw)
|
return new this.DataType(this.client, raw)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set a value to Cache */
|
/** Sets a value to Cache */
|
||||||
async set(key: string, value: T): Promise<any> {
|
async set(key: string, value: T): Promise<any> {
|
||||||
return this.client.cache.set(this.cacheName, key, value)
|
return this.client.cache.set(this.cacheName, key, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete a key from Cache */
|
/** Deletes a key from Cache */
|
||||||
async delete(key: string): Promise<boolean> {
|
async delete(key: string): Promise<boolean> {
|
||||||
return this.client.cache.delete(this.cacheName, key)
|
return this.client.cache.delete(this.cacheName, key)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get an Array of values from Cache */
|
/** Gets an Array of values from Cache */
|
||||||
async array(): Promise<undefined | T2[]> {
|
async array(): Promise<undefined | T2[]> {
|
||||||
let arr = await (this.client.cache.array(this.cacheName) as T[])
|
let arr = await (this.client.cache.array(this.cacheName) as T[])
|
||||||
if (arr === undefined) arr = []
|
if (arr === undefined) arr = []
|
||||||
return arr.map((e) => new this.DataType(this.client, e)) as any
|
return arr.map((e) => new this.DataType(this.client, e)) as any
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get a Collection of values from Cache */
|
/** Gets a Collection of values from Cache */
|
||||||
async collection(): Promise<Collection<string, T2>> {
|
async collection(): Promise<Collection<string, T2>> {
|
||||||
const arr = await this.array()
|
const arr = await this.array()
|
||||||
if (arr === undefined) return new Collection()
|
if (arr === undefined) return new Collection()
|
||||||
|
@ -60,7 +60,7 @@ export class BaseManager<T, T2> {
|
||||||
return collection
|
return collection
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete everything from Cache */
|
/** Deletes everything from Cache */
|
||||||
flush(): any {
|
flush(): any {
|
||||||
return this.client.cache.deleteCache(this.cacheName)
|
return this.client.cache.deleteCache(this.cacheName)
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ export class ChannelsManager extends BaseManager<ChannelPayload, Channel> {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Fetch a Channel by ID, cache it, resolve it */
|
/** Fetchs a Channel by ID, cache it, resolve it */
|
||||||
async fetch<T = Channel>(id: string): Promise<T> {
|
async fetch<T = Channel>(id: string): Promise<T> {
|
||||||
return await new Promise((resolve, reject) => {
|
return await new Promise((resolve, reject) => {
|
||||||
this.client.rest
|
this.client.rest
|
||||||
|
|
|
@ -20,7 +20,7 @@ export class EmojisManager extends BaseManager<EmojiPayload, Emoji> {
|
||||||
return emoji
|
return emoji
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Fetch an Emoji by Guild ID and Emoji ID, cache it and resolve it */
|
/** Fetchs an Emoji by Guild ID and Emoji ID, cache it and resolve it */
|
||||||
async fetch(guildID: string, id: string): Promise<Emoji> {
|
async fetch(guildID: string, id: string): Promise<Emoji> {
|
||||||
return await new Promise((resolve, reject) => {
|
return await new Promise((resolve, reject) => {
|
||||||
this.client.rest
|
this.client.rest
|
||||||
|
|
|
@ -11,20 +11,20 @@ import {
|
||||||
* Methods can return Promises too.
|
* Methods can return Promises too.
|
||||||
*/
|
*/
|
||||||
export interface ICacheAdapter {
|
export interface ICacheAdapter {
|
||||||
/** Get a key from a Cache */
|
/** Gets a key from a Cache */
|
||||||
get: (cacheName: string, key: string) => Promise<any> | any
|
get: (cacheName: string, key: string) => Promise<any> | any
|
||||||
/** Set a key to value in a Cache Name with optional expire value in MS */
|
/** Sets a key to value in a Cache Name with optional expire value in MS */
|
||||||
set: (
|
set: (
|
||||||
cacheName: string,
|
cacheName: string,
|
||||||
key: string,
|
key: string,
|
||||||
value: any,
|
value: any,
|
||||||
expire?: number
|
expire?: number
|
||||||
) => Promise<any> | any
|
) => Promise<any> | any
|
||||||
/** Delete a key from a Cache */
|
/** Deletes a key from a Cache */
|
||||||
delete: (cacheName: string, key: string) => Promise<boolean> | boolean
|
delete: (cacheName: string, key: string) => Promise<boolean> | boolean
|
||||||
/** Get array of all values in a Cache */
|
/** Gets array of all values in a Cache */
|
||||||
array: (cacheName: string) => undefined | any[] | Promise<any[] | undefined>
|
array: (cacheName: string) => undefined | any[] | Promise<any[] | undefined>
|
||||||
/** Entirely delete a Cache */
|
/** Entirely deletes a Cache */
|
||||||
deleteCache: (cacheName: string) => any
|
deleteCache: (cacheName: string) => any
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,9 +109,9 @@ export class Client extends EventEmitter {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set Cache Adapter
|
* Sets Cache Adapter
|
||||||
*
|
*
|
||||||
* Should NOT set after bot is already logged in or using current cache.
|
* Should NOT be set after bot is already logged in or using current cache.
|
||||||
* Please look into using `cache` option.
|
* Please look into using `cache` option.
|
||||||
*/
|
*/
|
||||||
setAdapter(adapter: ICacheAdapter): Client {
|
setAdapter(adapter: ICacheAdapter): Client {
|
||||||
|
@ -119,7 +119,7 @@ export class Client extends EventEmitter {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Change Presence of Client */
|
/** Changes Presence of Client */
|
||||||
setPresence(presence: ClientPresence | ClientActivity | ActivityGame): void {
|
setPresence(presence: ClientPresence | ClientActivity | ActivityGame): void {
|
||||||
if (presence instanceof ClientPresence) {
|
if (presence instanceof ClientPresence) {
|
||||||
this.presence = presence
|
this.presence = presence
|
||||||
|
@ -127,7 +127,7 @@ export class Client extends EventEmitter {
|
||||||
this.gateway?.sendPresence(this.presence.create())
|
this.gateway?.sendPresence(this.presence.create())
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Emit debug event */
|
/** Emits debug event */
|
||||||
debug(tag: string, msg: string): void {
|
debug(tag: string, msg: string): void {
|
||||||
this.emit('debug', `[${tag}] ${msg}`)
|
this.emit('debug', `[${tag}] ${msg}`)
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ export class Client extends EventEmitter {
|
||||||
// fetchApplication(): Promise<Application>
|
// fetchApplication(): Promise<Application>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is used for connect to discord.
|
* This function is used for connecting to discord.
|
||||||
* @param token Your token. This is required.
|
* @param token Your token. This is required.
|
||||||
* @param intents Gateway intents in array. This is required.
|
* @param intents Gateway intents in array. This is required.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -102,7 +102,7 @@ export class CommandClient extends Client implements CommandClientOptions {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Process a Message to Execute Command. */
|
/** Processes a Message to Execute Command. */
|
||||||
async processMessage(msg: Message): Promise<any> {
|
async processMessage(msg: Message): Promise<any> {
|
||||||
if (!this.allowBots && msg.author.bot === true) return
|
if (!this.allowBots && msg.author.bot === true) return
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ export class CommandClient extends Client implements CommandClientOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
// In these checks too, Command overrides Category if present
|
// In these checks too, Command overrides Category if present
|
||||||
// Check if Command is only for Owners
|
// Checks if Command is only for Owners
|
||||||
if (
|
if (
|
||||||
(command.ownerOnly !== undefined || category === undefined
|
(command.ownerOnly !== undefined || category === undefined
|
||||||
? command.ownerOnly
|
? command.ownerOnly
|
||||||
|
@ -232,7 +232,7 @@ export class CommandClient extends Client implements CommandClientOptions {
|
||||||
)
|
)
|
||||||
return this.emit('commandOwnerOnly', ctx, command)
|
return this.emit('commandOwnerOnly', ctx, command)
|
||||||
|
|
||||||
// Check if Command is only for Guild
|
// Checks if Command is only for Guild
|
||||||
if (
|
if (
|
||||||
(command.guildOnly !== undefined || category === undefined
|
(command.guildOnly !== undefined || category === undefined
|
||||||
? command.guildOnly
|
? command.guildOnly
|
||||||
|
@ -241,7 +241,7 @@ export class CommandClient extends Client implements CommandClientOptions {
|
||||||
)
|
)
|
||||||
return this.emit('commandGuildOnly', ctx, command)
|
return this.emit('commandGuildOnly', ctx, command)
|
||||||
|
|
||||||
// Check if Command is only for DMs
|
// Checks if Command is only for DMs
|
||||||
if (
|
if (
|
||||||
(command.dmOnly !== undefined || category === undefined
|
(command.dmOnly !== undefined || category === undefined
|
||||||
? command.dmOnly
|
? command.dmOnly
|
||||||
|
|
|
@ -12,14 +12,14 @@ export class ExtensionCommands {
|
||||||
this.extension = ext
|
this.extension = ext
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get a list of Extension's Commands */
|
/** Gets a list of Extension's Commands */
|
||||||
get list(): Collection<string, Command> {
|
get list(): Collection<string, Command> {
|
||||||
return this.extension.client.commands.list.filter(
|
return this.extension.client.commands.list.filter(
|
||||||
(c) => c.extension?.name === this.extension.name
|
(c) => c.extension?.name === this.extension.name
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get an Extension Command */
|
/** Gets an Extension Command */
|
||||||
get(cmd: string): Command | undefined {
|
get(cmd: string): Command | undefined {
|
||||||
const find = this.extension.client.commands.find(cmd)
|
const find = this.extension.client.commands.find(cmd)
|
||||||
// linter sucks
|
// linter sucks
|
||||||
|
@ -29,14 +29,14 @@ export class ExtensionCommands {
|
||||||
else return find
|
else return find
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Add an Extension Command */
|
/** Adds an Extension Command */
|
||||||
add(Cmd: Command | typeof Command): boolean {
|
add(Cmd: Command | typeof Command): boolean {
|
||||||
const cmd = Cmd instanceof Command ? Cmd : new Cmd()
|
const cmd = Cmd instanceof Command ? Cmd : new Cmd()
|
||||||
cmd.extension = this.extension
|
cmd.extension = this.extension
|
||||||
return this.extension.client.commands.add(cmd)
|
return this.extension.client.commands.add(cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete an Extension Command */
|
/** Deletes an Extension Command */
|
||||||
delete(cmd: Command | string): boolean {
|
delete(cmd: Command | string): boolean {
|
||||||
const find = this.extension.client.commands.find(
|
const find = this.extension.client.commands.find(
|
||||||
typeof cmd === 'string' ? cmd : cmd.name
|
typeof cmd === 'string' ? cmd : cmd.name
|
||||||
|
@ -50,7 +50,7 @@ export class ExtensionCommands {
|
||||||
else return this.extension.client.commands.delete(find)
|
else return this.extension.client.commands.delete(find)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete all Commands of an Extension */
|
/** Deletes all Commands of an Extension */
|
||||||
deleteAll(): void {
|
deleteAll(): void {
|
||||||
for (const [cmd] of this.list) {
|
for (const [cmd] of this.list) {
|
||||||
this.delete(cmd)
|
this.delete(cmd)
|
||||||
|
@ -74,7 +74,7 @@ export class Extension {
|
||||||
this.client = client
|
this.client = client
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Listen for an Event through Extension. */
|
/** Listens for an Event through Extension. */
|
||||||
listen(event: string, cb: ExtensionEventCallback): boolean {
|
listen(event: string, cb: ExtensionEventCallback): boolean {
|
||||||
if (this.events[event] !== undefined) return false
|
if (this.events[event] !== undefined) return false
|
||||||
else {
|
else {
|
||||||
|
@ -103,17 +103,17 @@ export class ExtensionsManager {
|
||||||
this.client = client
|
this.client = client
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get an Extension by name */
|
/** Gets an Extension by name */
|
||||||
get(ext: string): Extension | undefined {
|
get(ext: string): Extension | undefined {
|
||||||
return this.list.get(ext)
|
return this.list.get(ext)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check whether an Extension exists or not */
|
/** Checks whether an Extension exists or not */
|
||||||
exists(ext: string): boolean {
|
exists(ext: string): boolean {
|
||||||
return this.get(ext) !== undefined
|
return this.get(ext) !== undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Load an Extension onto Command Client */
|
/** Loads an Extension onto Command Client */
|
||||||
load(ext: Extension | typeof Extension): void {
|
load(ext: Extension | typeof Extension): void {
|
||||||
// eslint-disable-next-line new-cap
|
// eslint-disable-next-line new-cap
|
||||||
if (!(ext instanceof Extension)) ext = new ext(this.client)
|
if (!(ext instanceof Extension)) ext = new ext(this.client)
|
||||||
|
@ -123,7 +123,7 @@ export class ExtensionsManager {
|
||||||
ext.load()
|
ext.load()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Unload an Extension from Command Client */
|
/** Unloads an Extension from Command Client */
|
||||||
unload(ext: Extension | string): boolean {
|
unload(ext: Extension | string): boolean {
|
||||||
const name = typeof ext === 'string' ? ext : ext.name
|
const name = typeof ext === 'string' ? ext : ext.name
|
||||||
const extension = this.get(name)
|
const extension = this.get(name)
|
||||||
|
|
|
@ -308,7 +308,7 @@ export class RESTManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make a Request to Discord API
|
* Makes a Request to Discord API
|
||||||
* @param method HTTP Method to use
|
* @param method HTTP Method to use
|
||||||
* @param url URL of the Request
|
* @param url URL of the Request
|
||||||
* @param body Body to send with Request
|
* @param body Body to send with Request
|
||||||
|
@ -410,7 +410,7 @@ export class RESTManager {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make a GET Request to API */
|
/** Makes a GET Request to API */
|
||||||
async get(
|
async get(
|
||||||
url: string,
|
url: string,
|
||||||
body?: unknown,
|
body?: unknown,
|
||||||
|
@ -421,7 +421,7 @@ export class RESTManager {
|
||||||
return await this.make('get', url, body, maxRetries, bucket, rawResponse)
|
return await this.make('get', url, body, maxRetries, bucket, rawResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make a POST Request to API */
|
/** Makes a POST Request to API */
|
||||||
async post(
|
async post(
|
||||||
url: string,
|
url: string,
|
||||||
body?: unknown,
|
body?: unknown,
|
||||||
|
@ -432,7 +432,7 @@ export class RESTManager {
|
||||||
return await this.make('post', url, body, maxRetries, bucket, rawResponse)
|
return await this.make('post', url, body, maxRetries, bucket, rawResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make a DELETE Request to API */
|
/** Makes a DELETE Request to API */
|
||||||
async delete(
|
async delete(
|
||||||
url: string,
|
url: string,
|
||||||
body?: unknown,
|
body?: unknown,
|
||||||
|
@ -443,7 +443,7 @@ export class RESTManager {
|
||||||
return await this.make('delete', url, body, maxRetries, bucket, rawResponse)
|
return await this.make('delete', url, body, maxRetries, bucket, rawResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make a PATCH Request to API */
|
/** Makes a PATCH Request to API */
|
||||||
async patch(
|
async patch(
|
||||||
url: string,
|
url: string,
|
||||||
body?: unknown,
|
body?: unknown,
|
||||||
|
@ -454,7 +454,7 @@ export class RESTManager {
|
||||||
return await this.make('patch', url, body, maxRetries, bucket, rawResponse)
|
return await this.make('patch', url, body, maxRetries, bucket, rawResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Make a PUT Request to API */
|
/** Makes a PUT Request to API */
|
||||||
async put(
|
async put(
|
||||||
url: string,
|
url: string,
|
||||||
body?: unknown,
|
body?: unknown,
|
||||||
|
|
|
@ -45,7 +45,7 @@ export class GuildBans {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all bans in the Guild.
|
* Gets all bans in the Guild.
|
||||||
*/
|
*/
|
||||||
async all(): Promise<GuildBan[]> {
|
async all(): Promise<GuildBan[]> {
|
||||||
const res = await this.client.rest.get(GUILD_BANS(this.guild.id))
|
const res = await this.client.rest.get(GUILD_BANS(this.guild.id))
|
||||||
|
@ -59,7 +59,7 @@ export class GuildBans {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get ban details of a User if any.
|
* Gets ban details of a User if any.
|
||||||
* @param user User to get ban of, ID or User object.
|
* @param user User to get ban of, ID or User object.
|
||||||
*/
|
*/
|
||||||
async get(user: string | User): Promise<GuildBan> {
|
async get(user: string | User): Promise<GuildBan> {
|
||||||
|
@ -71,7 +71,7 @@ export class GuildBans {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ban a User.
|
* Bans a User.
|
||||||
* @param user User to ban, ID or User object.
|
* @param user User to ban, ID or User object.
|
||||||
* @param reason Reason for the Ban.
|
* @param reason Reason for the Ban.
|
||||||
* @param deleteMessagesDays Delete Old Messages? If yes, how much days.
|
* @param deleteMessagesDays Delete Old Messages? If yes, how much days.
|
||||||
|
@ -95,7 +95,7 @@ export class GuildBans {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unban (remove ban from) a User.
|
* Unbans (removes ban from) a User.
|
||||||
* @param user User to unban, ID or User object.
|
* @param user User to unban, ID or User object.
|
||||||
*/
|
*/
|
||||||
async remove(user: string | User): Promise<boolean> {
|
async remove(user: string | User): Promise<boolean> {
|
||||||
|
@ -271,7 +271,7 @@ export class Guild extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Everyone role of the Guild
|
* Gets Everyone role of the Guild
|
||||||
*/
|
*/
|
||||||
async getEveryoneRole(): Promise<Role> {
|
async getEveryoneRole(): Promise<Role> {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
||||||
|
@ -279,7 +279,7 @@ export class Guild extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get current client's member in the Guild
|
* Gets current client's member in the Guild
|
||||||
*/
|
*/
|
||||||
async me(): Promise<Member> {
|
async me(): Promise<Member> {
|
||||||
const get = await this.members.get(this.client.user?.id as string)
|
const get = await this.members.get(this.client.user?.id as string)
|
||||||
|
@ -288,7 +288,7 @@ export class Guild extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch Guild's Integrations (Webhooks, Bots, etc.)
|
* Fetchs Guild's Integrations (Webhooks, Bots, etc.)
|
||||||
*/
|
*/
|
||||||
async fetchIntegrations(): Promise<GuildIntegration[]> {
|
async fetchIntegrations(): Promise<GuildIntegration[]> {
|
||||||
const raw = (await this.client.rest.get(
|
const raw = (await this.client.rest.get(
|
||||||
|
@ -298,7 +298,7 @@ export class Guild extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chunk the Guild Members, i.e. cache them.
|
* Chunks the Guild Members, i.e. cache them.
|
||||||
* @param options Options regarding the Members Request
|
* @param options Options regarding the Members Request
|
||||||
* @param wait Whether to wait for all Members to come before resolving Promise or not.
|
* @param wait Whether to wait for all Members to come before resolving Promise or not.
|
||||||
* @param timeout Configurable timeout to cancel the wait to safely remove listener.
|
* @param timeout Configurable timeout to cancel the wait to safely remove listener.
|
||||||
|
@ -344,7 +344,7 @@ export class GuildIntegration extends Base {
|
||||||
expireGracePeriod?: number
|
expireGracePeriod?: number
|
||||||
user?: User
|
user?: User
|
||||||
account: IntegrationAccountPayload
|
account: IntegrationAccountPayload
|
||||||
syncedAt?: string // Actually a ISO Timestamp, but we parse in constructor'
|
syncedAt?: string // Actually a ISO Timestamp, but we parse in constructor
|
||||||
subscriberCount?: number
|
subscriberCount?: number
|
||||||
revoked?: boolean
|
revoked?: boolean
|
||||||
application?: Application
|
application?: Application
|
||||||
|
|
|
@ -65,7 +65,7 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the Member data in cache (and this object).
|
* Updates the Member data in cache (and this object).
|
||||||
*/
|
*/
|
||||||
async fetch(): Promise<Member> {
|
async fetch(): Promise<Member> {
|
||||||
const raw = await this.client.rest.get(this.id)
|
const raw = await this.client.rest.get(this.id)
|
||||||
|
@ -76,7 +76,7 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Edit the Member
|
* Edits the Member
|
||||||
* @param data Data to apply
|
* @param data Data to apply
|
||||||
*/
|
*/
|
||||||
async edit(data: MemberData): Promise<Member> {
|
async edit(data: MemberData): Promise<Member> {
|
||||||
|
@ -113,14 +113,14 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reset nickname of the Member
|
* Resets nickname of the Member
|
||||||
*/
|
*/
|
||||||
async resetNickname(): Promise<Member> {
|
async resetNickname(): Promise<Member> {
|
||||||
return await this.setNickname()
|
return await this.setNickname()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set mute of a Member in VC
|
* Sets a Member mute in VC
|
||||||
* @param mute Value to set
|
* @param mute Value to set
|
||||||
*/
|
*/
|
||||||
async setMute(mute?: boolean): Promise<Member> {
|
async setMute(mute?: boolean): Promise<Member> {
|
||||||
|
@ -130,7 +130,7 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set deaf of a Member in VC
|
* Sets a Member deaf in VC
|
||||||
* @param deaf Value to set
|
* @param deaf Value to set
|
||||||
*/
|
*/
|
||||||
async setDeaf(deaf?: boolean): Promise<Member> {
|
async setDeaf(deaf?: boolean): Promise<Member> {
|
||||||
|
@ -140,14 +140,14 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unmute the Member from VC.
|
* Unmutes the Member from VC.
|
||||||
*/
|
*/
|
||||||
async unmute(): Promise<Member> {
|
async unmute(): Promise<Member> {
|
||||||
return await this.setMute(false)
|
return await this.setMute(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Kick the member.
|
* Kicks the member.
|
||||||
*/
|
*/
|
||||||
async kick(): Promise<boolean> {
|
async kick(): Promise<boolean> {
|
||||||
const resp = await this.client.rest.delete(
|
const resp = await this.client.rest.delete(
|
||||||
|
@ -162,7 +162,7 @@ export class Member extends Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ban the Member.
|
* Bans the Member.
|
||||||
* @param reason Reason for the Ban.
|
* @param reason Reason for the Ban.
|
||||||
* @param deleteMessagesDays Delete Old Messages? If yes, how much days.
|
* @param deleteMessagesDays Delete Old Messages? If yes, how much days.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -103,7 +103,7 @@ export class Message extends Base {
|
||||||
this.flags = data.flags ?? this.flags
|
this.flags = data.flags ?? this.flags
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Edit this message. */
|
/** Edits this message. */
|
||||||
async edit(text?: string, option?: MessageOption): Promise<Message> {
|
async edit(text?: string, option?: MessageOption): Promise<Message> {
|
||||||
if (
|
if (
|
||||||
this.client.user !== undefined &&
|
this.client.user !== undefined &&
|
||||||
|
@ -113,7 +113,7 @@ export class Message extends Base {
|
||||||
return this.channel.editMessage(this.id, text, option)
|
return this.channel.editMessage(this.id, text, option)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Create a Reply to this Message. */
|
/** Creates a Reply to this Message. */
|
||||||
async reply(
|
async reply(
|
||||||
text?: string | AllMessageOptions,
|
text?: string | AllMessageOptions,
|
||||||
option?: AllMessageOptions
|
option?: AllMessageOptions
|
||||||
|
@ -121,7 +121,7 @@ export class Message extends Base {
|
||||||
return this.channel.send(text, option, this)
|
return this.channel.send(text, option, this)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete the Message. */
|
/** Deletes the Message. */
|
||||||
async delete(): Promise<void> {
|
async delete(): Promise<void> {
|
||||||
return this.client.rest.delete(CHANNEL_MESSAGE(this.channelID, this.id))
|
return this.client.rest.delete(CHANNEL_MESSAGE(this.channelID, this.id))
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ export class Webhook {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Send a Message through Webhook. */
|
/** Sends a Message through Webhook. */
|
||||||
async send(
|
async send(
|
||||||
text?: string | AllWebhookMessageOptions,
|
text?: string | AllWebhookMessageOptions,
|
||||||
option?: AllWebhookMessageOptions
|
option?: AllWebhookMessageOptions
|
||||||
|
@ -149,7 +149,7 @@ export class Webhook {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a Webhook object from URL
|
* Creates a Webhook object from URL
|
||||||
* @param url URL of the Webhook
|
* @param url URL of the Webhook
|
||||||
* @param client Client (bot) object, if any.
|
* @param client Client (bot) object, if any.
|
||||||
*/
|
*/
|
||||||
|
@ -165,7 +165,7 @@ export class Webhook {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Edit the Webhook name, avatar, or channel (requires authentication).
|
* Edits the Webhook name, avatar, or channel (requires authentication).
|
||||||
* @param options Options to edit the Webhook.
|
* @param options Options to edit the Webhook.
|
||||||
*/
|
*/
|
||||||
async edit(options: WebhookEditOptions): Promise<Webhook> {
|
async edit(options: WebhookEditOptions): Promise<Webhook> {
|
||||||
|
@ -185,7 +185,7 @@ export class Webhook {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Delete the Webhook. */
|
/** Deletes the Webhook. */
|
||||||
async delete(): Promise<boolean> {
|
async delete(): Promise<boolean> {
|
||||||
const resp = await this.rest.delete(this.url, undefined, 0, undefined, true)
|
const resp = await this.rest.delete(this.url, undefined, 0, undefined, true)
|
||||||
if (resp.response.status !== 204) return false
|
if (resp.response.status !== 204) return false
|
||||||
|
|
|
@ -16,7 +16,7 @@ import { UserPayload } from './user.ts'
|
||||||
/**
|
/**
|
||||||
* Gateway OPcodes from Discord docs.
|
* Gateway OPcodes from Discord docs.
|
||||||
*/
|
*/
|
||||||
export enum GatewayOpcodes { // 문서를 확인해본 결과 Opcode 5번은 비어있다. - UnderC -
|
export enum GatewayOpcodes { //Opcode 5 is empty according to discord api docs.
|
||||||
DISPATCH = 0,
|
DISPATCH = 0,
|
||||||
HEARTBEAT = 1,
|
HEARTBEAT = 1,
|
||||||
IDENTIFY = 2,
|
IDENTIFY = 2,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice
|
// https://discord.com/developers/docs/topics/opcodes-and-status-codes#voice
|
||||||
import { MemberPayload } from './guild.ts'
|
import { MemberPayload } from './guild.ts'
|
||||||
|
|
||||||
export enum VoiceOpcodes { // VoiceOpcodes 추가 - UnderC -
|
export enum VoiceOpcodes { // add VoiceOpcodes - UnderC -
|
||||||
IDENTIFY = 0,
|
IDENTIFY = 0,
|
||||||
SELECT_PROTOCOL = 1,
|
SELECT_PROTOCOL = 1,
|
||||||
READY = 2,
|
READY = 2,
|
||||||
|
|
|
@ -54,7 +54,7 @@ export class Collection<K = string, V = any> extends Map<K, V> {
|
||||||
return results
|
return results
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check if any of the values/keys in Collection satisfy callback */
|
/** Check if any of the values/keys in Collection satisfies callback */
|
||||||
some(callback: (value: V, key: K) => boolean): boolean {
|
some(callback: (value: V, key: K) => boolean): boolean {
|
||||||
for (const key of this.keys()) {
|
for (const key of this.keys()) {
|
||||||
const value = this.get(key) as V
|
const value = this.get(key) as V
|
||||||
|
@ -63,7 +63,7 @@ export class Collection<K = string, V = any> extends Map<K, V> {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check if every value/key in Collection satisfy callback */
|
/** Check if every value/key in Collection satisfies callback */
|
||||||
every(callback: (value: V, key: K) => boolean): boolean {
|
every(callback: (value: V, key: K) => boolean): boolean {
|
||||||
for (const key of this.keys()) {
|
for (const key of this.keys()) {
|
||||||
const value = this.get(key) as V
|
const value = this.get(key) as V
|
||||||
|
|
Loading…
Reference in a new issue