This commit is contained in:
ITOH
2021-04-24 19:38:38 +02:00
parent 0feb6822d0
commit 03db98cd48
11 changed files with 40 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
import { CreateGuildBan } from "../../types/guilds/create_guild_ban.ts";
import { rest } from "../../rest/rest.ts";
import { CreateGuildBan } from "../../types/guilds/create_guild_ban.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts";
import { camelKeysToSnakeCase } from "../../util/utils.ts";
@@ -12,13 +12,11 @@ export async function ban(
) {
await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]);
const result = await rest.runMethod(
return await rest.runMethod<undefined>(
"put",
endpoints.GUILD_BAN(guildId, id),
camelKeysToSnakeCase(options),
);
return result;
}
// aliases

View File

@@ -9,9 +9,13 @@ export async function editBotNickname(
) {
await requireBotGuildPermissions(guildId, ["CHANGE_NICKNAME"]);
const response = await rest.runMethod("patch", endpoints.USER_NICK(guildId), {
nick: nickname,
}) as { nick: string };
const response = await rest.runMethod<{ nick: string }>(
"patch",
endpoints.USER_NICK(guildId),
{
nick: nickname,
},
);
return response.nick;
}

View File

@@ -1,5 +1,6 @@
import { rest } from "../../rest/rest.ts";
import { Errors } from "../../types/misc/errors.ts";
import { User } from "../../types/mod.ts";
import { endpoints } from "../../util/constants.ts";
import { urlToBase64 } from "../../util/utils.ts";
@@ -26,10 +27,9 @@ export async function editBotProfile(username?: string, botAvatarURL?: string) {
}
const avatar = botAvatarURL ? await urlToBase64(botAvatarURL) : undefined;
const result = await rest.runMethod("patch", endpoints.USER_BOT, {
return await rest.runMethod<User>("patch", endpoints.USER_BOT, {
username: username?.trim(),
avatar,
});
return result;
}

View File

@@ -1,7 +1,7 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordGuildMember } from "../../types/guilds/guild_member.ts";
import { GuildMember } from "../../types/guilds/guild_member.ts";
import { Errors } from "../../types/misc/errors.ts";
import { ModifyGuildMember } from "../../types/mod.ts";
import { PermissionStrings } from "../../types/permissions/permission_strings.ts";
@@ -10,10 +10,7 @@ import {
requireBotChannelPermissions,
requireBotGuildPermissions,
} from "../../util/permissions.ts";
import {
camelKeysToSnakeCase,
snakeKeysToCamelCase,
} from "../../util/utils.ts";
import { camelKeysToSnakeCase } from "../../util/utils.ts";
/** Edit the member */
export async function editMember(
@@ -72,13 +69,14 @@ export async function editMember(
await requireBotGuildPermissions(guildId, [...requiredPerms]);
const result = await rest.runMethod(
const result = await rest.runMethod<GuildMember>(
"patch",
endpoints.GUILD_MEMBER(guildId, memberId),
camelKeysToSnakeCase(options),
) as DiscordGuildMember;
);
const member = await structures.createDiscordenoMember(
snakeKeysToCamelCase(result),
result,
guildId,
);

View File

@@ -1,7 +1,7 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordGuildMemberWithUser } from "../../types/guilds/guild_member.ts";
import { GuildMemberWithUser } from "../../types/guilds/guild_member.ts";
import { endpoints } from "../../util/constants.ts";
/** Returns a guild member object for the specified user.
@@ -16,7 +16,7 @@ export async function getMember(
const guild = await cacheHandlers.get("guilds", guildId);
if (!guild && !options?.force) return;
const data: DiscordGuildMemberWithUser = (await rest.runMethod(
const data = (await rest.runMethod<GuildMemberWithUser>(
"get",
endpoints.GUILD_MEMBER(guildId, id),
));

View File

@@ -4,10 +4,7 @@ import { rest } from "../../rest/rest.ts";
import { DiscordenoMember } from "../../structures/member.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordGatewayIntents } from "../../types/gateway/gateway_intents.ts";
import {
DiscordGuildMember,
DiscordGuildMemberWithUser,
} from "../../types/guilds/guild_member.ts";
import { GuildMember } from "../../types/guilds/guild_member.ts";
import { ListGuildMembers } from "../../types/guilds/list_guild_members.ts";
import { Errors } from "../../types/misc/errors.ts";
import { Collection } from "../../util/collection.ts";
@@ -49,7 +46,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) {
);
}
const result: DiscordGuildMember[] = (await rest.runMethod(
const result = (await rest.runMethod<GuildMember[]>(
"get",
`${endpoints.GUILD_MEMBERS(guildId)}?limit=${
membersLeft > 1000 ? 1000 : membersLeft
@@ -59,7 +56,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) {
const discordenoMembers = await Promise.all(
result.map(async (member) => {
const discordenoMember = await structures.createDiscordenoMember(
member as DiscordGuildMemberWithUser,
member,
guildId,
);
@@ -71,7 +68,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) {
return discordenoMember;
}),
) as DiscordenoMember[];
);
if (!discordenoMembers.length) break;

View File

@@ -20,13 +20,11 @@ export async function kick(guildId: string, memberId: string, reason?: string) {
await requireBotGuildPermissions(guildId, ["KICK_MEMBERS"]);
const result = await rest.runMethod(
return await rest.runMethod<undefined>(
"delete",
endpoints.GUILD_MEMBER(guildId, memberId),
{ reason },
);
return result;
}
// aliases

View File

@@ -19,11 +19,11 @@ export async function pruneMembers(
await requireBotGuildPermissions(guildId, ["KICK_MEMBERS"]);
const result = await rest.runMethod(
const result = await rest.runMethod<{ pruned: number }>(
"post",
endpoints.GUILD_PRUNE(guildId),
camelKeysToSnakeCase(options),
);
return result;
return result.pruned;
}

View File

@@ -2,7 +2,7 @@ import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { DiscordenoMember } from "../../structures/member.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordGuildMemberWithUser } from "../../types/guilds/guild_member.ts";
import { GuildMemberWithUser } from "../../types/guilds/guild_member.ts";
import { SearchGuildMembers } from "../../types/members/search_guild_members.ts";
import { Errors } from "../../types/misc/errors.ts";
import { Collection } from "../../util/collection.ts";
@@ -24,7 +24,7 @@ export async function searchMembers(
}
}
const result = await rest.runMethod<DiscordGuildMemberWithUser[]>(
const result = await rest.runMethod<GuildMemberWithUser[]>(
"get",
endpoints.GUILD_MEMBERS_SEARCH(guildId),
{

View File

@@ -1,7 +1,7 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordChannel } from "../../types/channels/channel.ts";
import { Channel } from "../../types/channels/channel.ts";
import { CreateMessage } from "../../types/messages/create_message.ts";
import { endpoints } from "../../util/constants.ts";
import { sendMessage } from "../messages/send_message.ts";
@@ -14,11 +14,15 @@ export async function sendDirectMessage(
let dmChannel = await cacheHandlers.get("channels", memberId);
if (!dmChannel) {
// If not available in cache create a new one.
const dmChannelData = await rest.runMethod("post", endpoints.USER_DM, {
recipient_id: memberId,
});
const dmChannelData = await rest.runMethod<Channel>(
"post",
endpoints.USER_DM,
{
recipient_id: memberId,
},
);
const discordenoChannel = await structures.createDiscordenoChannel(
dmChannelData as DiscordChannel,
dmChannelData,
);
// Recreate the channel and add it undert he users id
await cacheHandlers.set("channels", memberId, discordenoChannel);
@@ -26,5 +30,5 @@ export async function sendDirectMessage(
}
// If it does exist try sending a message to this user
return sendMessage(dmChannel.id, content);
return await sendMessage(dmChannel.id, content);
}

View File

@@ -6,12 +6,10 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts";
export async function unban(guildId: string, id: string) {
await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]);
const result = await rest.runMethod(
return await rest.runMethod<undefined>(
"delete",
endpoints.GUILD_BAN(guildId, id),
);
return result;
}
// aliases