Formatting

This commit is contained in:
Nicolás Serna 2022-07-13 14:10:45 -03:00
parent b178357553
commit f547099b5b
8 changed files with 92 additions and 63 deletions

View File

@ -70,8 +70,9 @@ session.start();
- Avoid sharing state between classes - Avoid sharing state between classes
### Compatibility (bun) ### Compatibility (bun)
**⚠️ DISCLAIMER:** since bun is unestable I highly recommend running biscuit on node! **⚠️ DISCLAIMER:** since bun is unestable I highly recommend running biscuit on node!
- We got the library running on EndeavourOS but it spams the ready event multiple times - We got the library running on EndeavourOS but it spams the ready event multiple times
- We got the library running on Arch/Artix Linux but breaks when sending fetch requests - We got the library running on Arch/Artix Linux but breaks when sending fetch requests
- We got the library running on WSL (Ubuntu) without any trouble - We got the library running on WSL (Ubuntu) without any trouble

View File

@ -58,7 +58,13 @@ import Integration from "./structures/Integration.ts";
import Guild from "./structures/guilds/Guild.ts"; import Guild from "./structures/guilds/Guild.ts";
import InteractionFactory from "./structures/interactions/InteractionFactory.ts"; import InteractionFactory from "./structures/interactions/InteractionFactory.ts";
import { InviteCreate, NewInviteCreate } from "./structures/Invite.ts"; import { InviteCreate, NewInviteCreate } from "./structures/Invite.ts";
import { MessageReactionAdd, MessageReactionRemove, MessageReactionRemoveAll, MessageReactionRemoveEmoji, NewMessageReactionAdd } from "./structures/MessageReaction.ts"; import {
MessageReactionAdd,
MessageReactionRemove,
MessageReactionRemoveAll,
MessageReactionRemoveEmoji,
NewMessageReactionAdd,
} from "./structures/MessageReaction.ts";
export type RawHandler<T> = (...args: [Session, number, T]) => void; export type RawHandler<T> = (...args: [Session, number, T]) => void;
export type Handler<T extends unknown[]> = (...args: T) => unknown; export type Handler<T extends unknown[]> = (...args: T) => unknown;

View File

@ -348,8 +348,11 @@ export function GUILD_APPLICATION_COMMANDS_PERMISSIONS(appId: Snowflake, guildId
return `/applications/${appId}/guilds/${guildId}/commands/permissions`; return `/applications/${appId}/guilds/${guildId}/commands/permissions`;
} }
export function APPLICATION_COMMANDS_LOCALIZATIONS(
export function APPLICATION_COMMANDS_LOCALIZATIONS(appId: Snowflake, commandId: Snowflake, withLocalizations?: boolean) { appId: Snowflake,
commandId: Snowflake,
withLocalizations?: boolean,
) {
let url = `/applications/${appId}/commands/${commandId}?`; let url = `/applications/${appId}/commands/${commandId}?`;
if (withLocalizations !== undefined) { if (withLocalizations !== undefined) {
@ -359,7 +362,12 @@ export function APPLICATION_COMMANDS_LOCALIZATIONS(appId: Snowflake, commandId:
return url; return url;
} }
export function GUILD_APPLICATION_COMMANDS_LOCALIZATIONS(appId: Snowflake, guildId: Snowflake, commandId: Snowflake, withLocalizations?: boolean) { export function GUILD_APPLICATION_COMMANDS_LOCALIZATIONS(
appId: Snowflake,
guildId: Snowflake,
commandId: Snowflake,
withLocalizations?: boolean,
) {
let url = `/applications/${appId}/guilds/${guildId}/commands/${commandId}?`; let url = `/applications/${appId}/guilds/${guildId}/commands/${commandId}?`;
if (withLocalizations !== undefined) { if (withLocalizations !== undefined) {

View File

@ -1,13 +1,13 @@
import type { import type {
ApplicationCommandPermissionTypes, ApplicationCommandPermissionTypes,
AtLeastOne, AtLeastOne,
Localization,
DiscordApplicationCommand, DiscordApplicationCommand,
DiscordApplicationCommandOption, DiscordApplicationCommandOption,
DiscordGuildApplicationCommandPermissions,
DiscordGetGatewayBot, DiscordGetGatewayBot,
DiscordGuildApplicationCommandPermissions,
GatewayBot, GatewayBot,
GatewayIntents, GatewayIntents,
Localization,
} from "../discordeno/mod.ts"; } from "../discordeno/mod.ts";
import type { DiscordGatewayPayload, Shard } from "../discordeno/mod.ts"; import type { DiscordGatewayPayload, Shard } from "../discordeno/mod.ts";
@ -17,7 +17,12 @@ import type { PermissionResolvable } from "./structures/Permissions.ts";
import { Permissions } from "./structures/Permissions.ts"; import { Permissions } from "./structures/Permissions.ts";
import { Snowflake } from "./Snowflake.ts"; import { Snowflake } from "./Snowflake.ts";
import { EventEmitter } from "./util/EventEmmiter.ts"; import { EventEmitter } from "./util/EventEmmiter.ts";
import { ApplicationCommandTypes, createGatewayManager, createRestManager, getBotIdFromToken } from "../discordeno/mod.ts"; import {
ApplicationCommandTypes,
createGatewayManager,
createRestManager,
getBotIdFromToken,
} from "../discordeno/mod.ts";
import * as Routes from "./Routes.ts"; import * as Routes from "./Routes.ts";
import * as Actions from "./Actions.ts"; import * as Actions from "./Actions.ts";
@ -28,28 +33,28 @@ export type DiscordRawEventHandler = (shard: Shard, data: DiscordGatewayPayload)
/** /**
* @link https://discord.com/developers/docs/interactions/application-commands#endpoints-json-params * @link https://discord.com/developers/docs/interactions/application-commands#endpoints-json-params
* */ */
export interface CreateApplicationCommand { export interface CreateApplicationCommand {
name: string; name: string;
nameLocalizations?: Localization; nameLocalizations?: Localization;
description: string; description: string;
descriptionLocalizations?: Localization; descriptionLocalizations?: Localization;
type?: ApplicationCommandTypes; type?: ApplicationCommandTypes;
options?: DiscordApplicationCommandOption[]; options?: DiscordApplicationCommandOption[];
defaultMemberPermissions?: PermissionResolvable; defaultMemberPermissions?: PermissionResolvable;
dmPermission?: boolean; dmPermission?: boolean;
} }
/** /**
* @link https://discord.com/developers/docs/interactions/application-commands#endpoints-json-params * @link https://discord.com/developers/docs/interactions/application-commands#endpoints-json-params
* */ */
export interface CreateContextApplicationCommand extends Omit<CreateApplicationCommand, "options"> { export interface CreateContextApplicationCommand extends Omit<CreateApplicationCommand, "options"> {
type: ApplicationCommandTypes.Message | ApplicationCommandTypes.User; type: ApplicationCommandTypes.Message | ApplicationCommandTypes.User;
} }
/** /**
* @link https://discord.com/developers/docs/interactions/application-commands#endpoints-query-string-params * @link https://discord.com/developers/docs/interactions/application-commands#endpoints-query-string-params
* */ */
export interface GetApplicationCommand { export interface GetApplicationCommand {
guildId?: Snowflake; guildId?: Snowflake;
withLocalizations?: boolean; withLocalizations?: boolean;
@ -61,7 +66,7 @@ export interface UpsertApplicationCommands extends CreateApplicationCommand {
/** /**
* @link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions * @link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions
* */ */
export interface ApplicationCommandPermissions { export interface ApplicationCommandPermissions {
id: Snowflake; id: Snowflake;
type: ApplicationCommandPermissionTypes; type: ApplicationCommandPermissionTypes;
@ -70,11 +75,11 @@ export interface ApplicationCommandPermissions {
/** /**
* @link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions * @link https://discord.com/developers/docs/interactions/application-commands#edit-application-command-permissions
* */ */
export interface ApplicationCommandPermissions { export interface ApplicationCommandPermissions {
id: Snowflake; id: Snowflake;
type: ApplicationCommandPermissionTypes; type: ApplicationCommandPermissionTypes;
permission: boolean; permission: boolean;
} }
// END INTERACTIONS // END INTERACTIONS
@ -189,22 +194,24 @@ export class Session extends EventEmitter {
guildId guildId
? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId) ? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId)
: Routes.APPLICATION_COMMANDS(this.applicationId), : Routes.APPLICATION_COMMANDS(this.applicationId),
this.isContextApplicationCommand(options) ? { this.isContextApplicationCommand(options)
name: options.name, ? {
name_localizations: options.nameLocalizations, name: options.name,
type: options.type, name_localizations: options.nameLocalizations,
} : { type: options.type,
name: options.name, }
name_localizations: options.nameLocalizations, : {
description: options.description, name: options.name,
description_localizations: options.descriptionLocalizations, name_localizations: options.nameLocalizations,
type: options.type, description: options.description,
options: options.options, description_localizations: options.descriptionLocalizations,
default_member_permissions: options.defaultMemberPermissions type: options.type,
? new Permissions(options.defaultMemberPermissions).bitfield.toString() options: options.options,
: undefined, default_member_permissions: options.defaultMemberPermissions
dm_permission: options.dmPermission, ? new Permissions(options.defaultMemberPermissions).bitfield.toString()
}, : undefined,
dm_permission: options.dmPermission,
},
); );
} }
@ -232,8 +239,8 @@ export class Session extends EventEmitter {
permissions: options, permissions: options,
}, },
{ {
headers: { authorization: `Bearer ${bearerToken}` } headers: { authorization: `Bearer ${bearerToken}` },
} },
); );
} }
@ -279,10 +286,12 @@ export class Session extends EventEmitter {
guildId guildId
? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId) ? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId)
: Routes.APPLICATION_COMMANDS(this.applicationId, id), : Routes.APPLICATION_COMMANDS(this.applicationId, id),
this.isContextApplicationCommand(options) ? { this.isContextApplicationCommand(options)
? {
name: options.name, name: options.name,
type: options.type, type: options.type,
} : { }
: {
name: options.name, name: options.name,
description: options.description, description: options.description,
type: options.type, type: options.type,
@ -291,22 +300,28 @@ export class Session extends EventEmitter {
); );
} }
upsertApplicationCommands(options: Array<UpsertApplicationCommands | CreateContextApplicationCommand>, guildId?: Snowflake) { upsertApplicationCommands(
options: Array<UpsertApplicationCommands | CreateContextApplicationCommand>,
guildId?: Snowflake,
) {
return this.rest.runMethod<DiscordApplicationCommand[]>( return this.rest.runMethod<DiscordApplicationCommand[]>(
this.rest, this.rest,
"PUT", "PUT",
guildId guildId
? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId) ? Routes.GUILD_APPLICATION_COMMANDS(this.applicationId, guildId)
: Routes.APPLICATION_COMMANDS(this.applicationId), : Routes.APPLICATION_COMMANDS(this.applicationId),
options.map((o) => this.isContextApplicationCommand(o) ? { options.map((o) =>
name: o.name, this.isContextApplicationCommand(o)
type: o.type, ? {
} : { name: o.name,
name: o.name, type: o.type,
description: o.description, }
type: o.type, : {
options: o.options, name: o.name,
} description: o.description,
type: o.type,
options: o.options,
}
), ),
); );
} }

View File

@ -38,7 +38,7 @@ export type ComponentBuilder =
| SelectMenuBuilder | SelectMenuBuilder
| ButtonBuilder; | ButtonBuilder;
/*** /** *
* Utility type * Utility type
*/ */
export type ComponentEmoji = { export type ComponentEmoji = {

View File

@ -7,7 +7,7 @@ import * as Routes from "../Routes.ts";
/** /**
* A member that comes from a thread * A member that comes from a thread
* @link https://discord.com/developers/docs/resources/channel#thread-member-object * @link https://discord.com/developers/docs/resources/channel#thread-member-object
* **/ * * */
export class ThreadMember implements Model { export class ThreadMember implements Model {
constructor(session: Session, data: DiscordThreadMember) { constructor(session: Session, data: DiscordThreadMember) {
this.session = session; this.session = session;

View File

@ -499,13 +499,13 @@ export class Guild extends BaseGuild implements Model {
}; };
} }
/*** /** *
* Makes the bot leave the guild * Makes the bot leave the guild
*/ */
async leave() { async leave() {
} }
/*** /** *
* Deletes a guild * Deletes a guild
*/ */
async delete() { async delete() {
@ -579,9 +579,8 @@ export class Guild extends BaseGuild implements Model {
splash: "splashURL" in options splash: "splashURL" in options
? options.splashURL || urlToBase64(options.splashURL!) ? options.splashURL || urlToBase64(options.splashURL!)
: options.splashHash || Util.iconBigintToHash(options.iconHash!), : options.splashHash || Util.iconBigintToHash(options.iconHash!),
banner: "bannerURL" in options banner: "bannerURL" in options ? options.bannerURL || urlToBase64(options.bannerURL!)
? options.bannerURL || urlToBase64(options.bannerURL!) : options.bannerHash || Util.iconBigintToHash(options.bannerHash!),
: options.bannerHash || Util.iconBigintToHash(options.bannerHash!),
discovery_splash: "discoverySplashURL" in options discovery_splash: "discoverySplashURL" in options
? options.discoverySplashURL || urlToBase64(options.discoverySplashURL!) ? options.discoverySplashURL || urlToBase64(options.discoverySplashURL!)
: options.discoverySplashHash || Util.iconBigintToHash(options.discoverySplashHash!), : options.discoverySplashHash || Util.iconBigintToHash(options.discoverySplashHash!),

View File

@ -2,7 +2,7 @@ import type { Model } from "../Base.ts";
import type { Snowflake } from "../../Snowflake.ts"; import type { Snowflake } from "../../Snowflake.ts";
import type { Session } from "../../Session.ts"; import type { Session } from "../../Session.ts";
import type { DiscordInteraction, InteractionTypes } from "../../../discordeno/mod.ts"; import type { DiscordInteraction, InteractionTypes } from "../../../discordeno/mod.ts";
import type { InteractionResponse, InteractionApplicationCommandCallbackData } from "./CommandInteraction.ts"; import type { InteractionApplicationCommandCallbackData, InteractionResponse } from "./CommandInteraction.ts";
import { MessageComponentTypes } from "../../../discordeno/mod.ts"; import { MessageComponentTypes } from "../../../discordeno/mod.ts";
import CommandInteraction from "./CommandInteraction.ts"; import CommandInteraction from "./CommandInteraction.ts";
import BaseInteraction from "./BaseInteraction.ts"; import BaseInteraction from "./BaseInteraction.ts";