diff --git a/helpers/roles/createRole.ts b/helpers/roles/createRole.ts index 01dc40afc..bb0aaf22a 100644 --- a/helpers/roles/createRole.ts +++ b/helpers/roles/createRole.ts @@ -42,7 +42,7 @@ export async function createRole( } export interface CreateGuildRole { - /** Name of the role, default: "new role" */ + /** Name of the role, max 100 characters, default: "new role" */ name?: string; /** Bitwise value of the enabled/disabled permissions, default: everyone permissions in guild */ permissions?: PermissionStrings[]; diff --git a/helpers/roles/editRole.ts b/helpers/roles/editRole.ts index a98a2a49c..197397f69 100644 --- a/helpers/roles/editRole.ts +++ b/helpers/roles/editRole.ts @@ -39,7 +39,7 @@ export async function editRole(bot: Bot, guildId: BigString, roleId: BigString, } export interface EditGuildRole { - /** Name of the role, default: "new role" */ + /** Name of the role, max 100 characters, default: "new role" */ name?: string; /** Bitwise value of the enabled/disabled permissions, default: everyone permissions in guild */ permissions?: PermissionStrings[]; diff --git a/plugins/permissions/src/roles/createRole.ts b/plugins/permissions/src/roles/createRole.ts index eab437402..d7c29e1c2 100644 --- a/plugins/permissions/src/roles/createRole.ts +++ b/plugins/permissions/src/roles/createRole.ts @@ -7,6 +7,10 @@ export function createRole(bot: BotWithCache) { bot.helpers.createRole = async function (guildId, options, reason) { requireBotGuildPermissions(bot, bot.transformers.snowflake(guildId), ["MANAGE_ROLES"]); + if (options.name && !bot.utils.validateLength(options.name, { max: 100 })) { + throw new Error("Role name must be less than 100 characters"); + } + return await createRole(guildId, options, reason); }; } diff --git a/plugins/permissions/src/roles/editRole.ts b/plugins/permissions/src/roles/editRole.ts index 1bb6a6e39..116fbbfdd 100644 --- a/plugins/permissions/src/roles/editRole.ts +++ b/plugins/permissions/src/roles/editRole.ts @@ -1,6 +1,5 @@ import { BotWithCache } from "../../deps.ts"; -import { higherRolePosition } from "../permissions.ts"; -import { highestRole, requireBotGuildPermissions } from "../permissions.ts"; +import { higherRolePosition, highestRole, requireBotGuildPermissions } from "../permissions.ts"; export function editRole(bot: BotWithCache) { const editRole = bot.helpers.editRole; @@ -26,6 +25,10 @@ export function editRole(bot: BotWithCache) { requireBotGuildPermissions(bot, guild, ["MANAGE_ROLES"]); } + if (options.name && !bot.utils.validateLength(options.name, { max: 100 })) { + throw new Error("Role name must be less than 100 characters"); + } + return await editRole(guildId, id, options); }; }