mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 09:20:08 +00:00
Merge remote-tracking branch 'origin/fp-attempt-9001' into fp-attempt-9001
This commit is contained in:
@@ -12,7 +12,7 @@ import {
|
||||
highestRole,
|
||||
higherRolePosition,
|
||||
requireBotChannelPermissions,
|
||||
requireBotGuildPermissions
|
||||
requireBotGuildPermissions,
|
||||
} from "./util/permissions.ts";
|
||||
import { getGatewayBot } from "./helpers/misc/get_gateway_bot.ts";
|
||||
import {
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import {Bot} from "../../bot.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
|
||||
/** Delete the attached integration object for the guild with this id. Requires MANAGE_GUILD permission. */
|
||||
export async function deleteIntegration(bot: Bot, guildId: bigint, id: bigint) {
|
||||
await bot.utils.requireBotGuildPermissions(bot, guildId, ["MANAGE_GUILD"]);
|
||||
|
||||
return await bot.rest.runMethod<undefined>(bot.rest,"delete", bot.constants.endpoints.GUILD_INTEGRATION(guildId, id));
|
||||
return await bot.rest.runMethod<undefined>(
|
||||
bot.rest,
|
||||
"delete",
|
||||
bot.constants.endpoints.GUILD_INTEGRATION(guildId, id)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { CreateChannelInvite } from "../../types/invites/create_channel_inv
|
||||
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
||||
import { Errors } from "../../types/discordeno/errors.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Creates a new invite for this channel. Requires CREATE_INSTANT_INVITE */
|
||||
export async function createInvite(bot: Bot, channelId: bigint, options: CreateChannelInvite = {}) {
|
||||
@@ -15,13 +15,18 @@ export async function createInvite(bot: Bot, channelId: bigint, options: CreateC
|
||||
throw new Error(Errors.INVITE_MAX_USES_INVALID);
|
||||
}
|
||||
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>(bot.rest,"post", bot.constants.endpoints.CHANNEL_INVITES(channelId), {
|
||||
max_age: options.maxAge,
|
||||
max_uses: options.maxUses,
|
||||
temporary: options.temporary,
|
||||
unique: options.unique,
|
||||
target_type: options.targetType,
|
||||
target_user_id: options.targetUserId,
|
||||
target_application_id: options.targetUserId,
|
||||
});
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>(
|
||||
bot.rest,
|
||||
"post",
|
||||
bot.constants.endpoints.CHANNEL_INVITES(channelId),
|
||||
{
|
||||
max_age: options.maxAge,
|
||||
max_uses: options.maxUses,
|
||||
temporary: options.temporary,
|
||||
unique: options.unique,
|
||||
target_type: options.targetType,
|
||||
target_user_id: options.targetUserId,
|
||||
target_application_id: options.targetUserId,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Deletes an invite for the given code. Requires `MANAGE_CHANNELS` or `MANAGE_GUILD` permission */
|
||||
export async function deleteInvite(bot: Bot, channelId: bigint, inviteCode: string) {
|
||||
@@ -13,5 +13,9 @@ export async function deleteInvite(bot: Bot, channelId: bigint, inviteCode: stri
|
||||
}
|
||||
}
|
||||
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>(bot.rest,"delete", bot.constants.endpoints.INVITE(inviteCode));
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>(
|
||||
bot.rest,
|
||||
"delete",
|
||||
bot.constants.endpoints.INVITE(inviteCode)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Gets the invites for this channel. Requires MANAGE_CHANNEL */
|
||||
export async function getChannelInvites(bot: Bot, channelId: bigint) {
|
||||
await bot.utils.requireBotChannelPermissions(channelId, ["MANAGE_CHANNELS"]);
|
||||
|
||||
const result = await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>[]>(bot.rest,"get", bot.constants.endpoints.CHANNEL_INVITES(channelId));
|
||||
const result = await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>[]>(
|
||||
bot.rest,
|
||||
"get",
|
||||
bot.constants.endpoints.CHANNEL_INVITES(channelId)
|
||||
);
|
||||
|
||||
return new Collection(result.map((invite) => [invite.code, invite]));
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
import { GetInvite } from "../../types/invites/get_invite.ts";
|
||||
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
|
||||
/** Returns an invite for the given code or throws an error if the invite doesn't exists. */
|
||||
export async function getInvite(bot: Bot, inviteCode: string, options?: GetInvite) {
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>("get", bot.constants.endpoints.INVITE(inviteCode), {
|
||||
with_counts: options.withCounts,
|
||||
with_expiration: options.withExpiration,
|
||||
});
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>>(
|
||||
"get",
|
||||
bot.constants.endpoints.INVITE(inviteCode),
|
||||
{
|
||||
with_counts: options.withCounts,
|
||||
with_expiration: options.withExpiration,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
|
||||
/** Get all the invites for this guild. Requires MANAGE_GUILD permission */
|
||||
export async function getInvites(bot: Bot, guildId: bigint) {
|
||||
await bot.utils.requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
|
||||
|
||||
const result = await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>[]>("get", bot.constants.endpoints.GUILD_INVITES(guildId));
|
||||
const result = await bot.rest.runMethod<SnakeCasedPropertiesDeep<InviteMetadata>[]>(
|
||||
"get",
|
||||
bot.constants.endpoints.GUILD_INVITES(guildId)
|
||||
);
|
||||
|
||||
return new Collection(result.map((invite) => [invite.code, invite]));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Errors } from "../../types/discordeno/errors.ts";
|
||||
import type { User } from "../../types/users/user.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Modifies the bot's username or avatar.
|
||||
* NOTE: username: if changed may cause the bot's discriminator to be randomized.
|
||||
@@ -27,7 +27,7 @@ export async function editBotProfile(bot: Bot, options: { username?: string; bot
|
||||
|
||||
const avatar = options?.botAvatarURL ? await bot.utils.urlToBase64(options?.botAvatarURL) : options?.botAvatarURL;
|
||||
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<User>>(bot,"patch", bot.constants.endpoints.USER_BOT, {
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<User>>(bot, "patch", bot.constants.endpoints.USER_BOT, {
|
||||
username: options.username?.trim(),
|
||||
avatar,
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {Bot} from "../../bot.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { DiscordGatewayOpcodes } from "../../types/codes/gateway_opcodes.ts";
|
||||
import type { StatusUpdate } from "../../types/gateway/status_update.ts";
|
||||
|
||||
@@ -12,7 +12,7 @@ export function editBotStatus(bot: Bot, data: Omit<StatusUpdate, "afk" | "since"
|
||||
since: null,
|
||||
afk: false,
|
||||
activities: data.activities,
|
||||
status: data.status
|
||||
status: data.status,
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import type { GetGatewayBot } from "../../types/gateway/get_gateway_bot.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */
|
||||
export async function getGatewayBot(bot: Bot) {
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<GetGatewayBot>>(bot.rest,"get", bot.constants.endpoints.GATEWAY_BOT);
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<GetGatewayBot>>(
|
||||
bot.rest,
|
||||
"get",
|
||||
bot.constants.endpoints.GATEWAY_BOT
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import type { User } from "../../types/users/user.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** This function will return the raw user payload in the rare cases you need to fetch a user directly from the API. */
|
||||
export async function getUser(bot: Bot, userId: bigint) {
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<User>>(bot.rest,"get", bot.constants.endpoints.USER(userId));
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<User>>(
|
||||
bot.rest,
|
||||
"get",
|
||||
bot.constants.endpoints.USER(userId)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import { Application } from "../../types/applications/application.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
import {SnakeCasedPropertiesDeep} from "../../types/util.ts";
|
||||
import { SnakeCasedPropertiesDeep } from "../../types/util.ts";
|
||||
|
||||
/** Get the applications info */
|
||||
export async function getApplicationInfo(bot: Bot) {
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<Omit<Application, "flags">>>(bot.rest,"get", bot.constants.endpoints.OAUTH2_APPLICATION);
|
||||
return await bot.rest.runMethod<SnakeCasedPropertiesDeep<Omit<Application, "flags">>>(
|
||||
bot.rest,
|
||||
"get",
|
||||
bot.constants.endpoints.OAUTH2_APPLICATION
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { UpdateVoiceState } from "../../types/voice/update_voice_state.ts";
|
||||
import type { AtLeastOne } from "../../types/util.ts";
|
||||
import {Bot} from "../../bot.ts";
|
||||
import { Bot } from "../../bot.ts";
|
||||
|
||||
/** Connect or join a voice channel inside a guild. By default, the "selfDeaf" option is true. Requires `CONNECT` and `VIEW_CHANNEL` permissions. */
|
||||
export async function connectToVoiceChannel(
|
||||
|
||||
Reference in New Issue
Block a user