This commit is contained in:
ayntee
2021-04-12 22:37:40 +04:00
8 changed files with 10 additions and 72 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
import { rest } from "../../rest/rest.ts";
import { User } from "../../types/users/user.ts";
import { DiscordUser } from "../../types/users/user.ts";
import { Collection } from "../../util/collection.ts";
import { endpoints } from "../../util/constants.ts";
@@ -14,7 +14,7 @@ export async function getReactions(
"get",
endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, reaction),
options,
)) as User[];
)) as DiscordUser[];
return new Collection(users.map((user) => [user.id, user]));
}
-3
View File
@@ -96,7 +96,6 @@ import { deleteRole } from "./roles/delete_role.ts";
import { editRole } from "./roles/edit_role.ts";
import { getRoles } from "./roles/get_roles.ts";
import { removeRole } from "./roles/remove_role.ts";
import { swapRoles } from "./roles/swap_roles.ts";
import { createGuildFromTemplate } from "./templates/create_guild_from_template.ts";
import { createGuildTemplate } from "./templates/create_guild_template.ts";
import { deleteGuildTemplate } from "./templates/delete_guild_template.ts";
@@ -230,7 +229,6 @@ export {
sendMessage,
startTyping,
swapChannels,
swapRoles,
syncGuildTemplate,
syncIntegration,
unban,
@@ -350,7 +348,6 @@ export let helpers = {
editRole,
getRoles,
removeRole,
swapRoles,
// templates
createGuildFromTemplate,
createGuildTemplate,
-16
View File
@@ -1,16 +0,0 @@
import { rest } from "../../rest/rest.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts";
/** Modify the positions of a set of role objects for the guild. Requires the MANAGE_ROLES permission. */
export async function swapRoles(guildId: string, rolePositions: PositionSwap) {
await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]);
const result = await rest.runMethod(
"patch",
endpoints.GUILD_ROLES(guildId),
rolePositions,
);
return result;
}
@@ -1,7 +1,9 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { Guild } from "../../types/guilds/guild.ts";
import { CreateGuildFromTemplate } from "../../types/templates/create_guild_from_template.ts";
import { endpoints } from "../../util/constants.ts";
import { urlToBase64 } from "../../util/utils.ts";
import { snakeKeysToCamelCase, urlToBase64 } from "../../util/utils.ts";
/**
* Create a new guild based on a template
@@ -27,5 +29,5 @@ export async function createGuildFromTemplate(
data,
);
return result as CreateGuildPayload;
return snakeKeysToCamelCase<Guild>(result);
}
@@ -1,6 +1,6 @@
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordTemplate } from "../../types/templates/template.ts";
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts";
@@ -12,7 +12,7 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts";
*/
export async function createGuildTemplate(
guildId: string,
data: CreateGuildTemplate,
data: Template,
) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
+2 -1
View File
@@ -1,5 +1,6 @@
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { ModifyGuildTemplate } from "../../types/templates/modify_guild_template.ts";
import { DiscordTemplate } from "../../types/templates/template.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts";
@@ -11,7 +12,7 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts";
export async function editGuildTemplate(
guildId: string,
templateCode: string,
data: EditGuildTemplate,
data: ModifyGuildTemplate,
) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
-1
View File
@@ -47,7 +47,6 @@ import "./roles/create_role.ts";
import "./roles/delete_role.ts";
import "./roles/edit_role.ts";
import "./roles/remove_role.ts";
import "./roles/swap_roles.ts";
// Final cleanup
import "./guilds/delete_server.ts";
-45
View File
@@ -1,45 +0,0 @@
import { defaultTestOptions, tempData } from "../ws/start_bot.ts";
import {assertEquals, assertExists} from "../deps.ts";
import { cache } from "../../src/cache.ts";
import { delayUntil } from "../util/delay_until.ts";
import {addRole} from "../../src/helpers/roles/add_role.ts";
import {createRole} from "../../src/helpers/roles/create_role.ts";
import {botId} from "../../src/bot.ts";
import {swapRoles} from "../../src/helpers/roles/swap_roles.ts";
import {delay} from "../../src/util/utils.ts";
Deno.test({
name: "[role] swap roles",
async fn() {
const role = await createRole(tempData.guildId, {
name: "hoti",
});
assertExists(role);
const secondRole = await createRole(tempData.guildId, {
name: "not hoti",
});
assertExists(secondRole);
// Delay the execution by 5 seconds to allow GUILD_ROLE_CREATE event to be processed
await delayUntil(10000, () => cache.guilds.get(tempData.guildId)?.roles.has(role.id) && cache.guilds.get(tempData.guildId)?.roles.has(secondRole.id));
if (!cache.guilds.get(tempData.guildId)?.roles.has(role.id) || !cache.guilds.get(tempData.guildId)?.roles.has(secondRole.id)) {
throw new Error(`The role seemed to be created but it was not cached.`);
}
const result = await swapRoles(tempData.guildId, [
{
id: role.id,
},
{
id: secondRole.id,
},
]);
assertExists(result);
},
...defaultTestOptions,
});