Discord: honor Administrator in permission checks

This commit is contained in:
Shadow
2026-02-12 19:52:45 -06:00
parent 22fe30c1df
commit 34c304727b
2 changed files with 45 additions and 0 deletions

View File

@@ -447,6 +447,34 @@ describe("fetchChannelPermissionsDiscord", () => {
expect(res.permissions).toContain("SendMessages");
expect(res.isDm).toBe(false);
});
it("treats Administrator as all permissions despite overwrites", async () => {
const { rest, getMock } = makeRest();
getMock
.mockResolvedValueOnce({
id: "chan1",
guild_id: "guild1",
permission_overwrites: [
{
id: "guild1",
deny: PermissionFlagsBits.ViewChannel.toString(),
allow: "0",
},
],
})
.mockResolvedValueOnce({ id: "bot1" })
.mockResolvedValueOnce({
id: "guild1",
roles: [{ id: "guild1", permissions: PermissionFlagsBits.Administrator.toString() }],
})
.mockResolvedValueOnce({ roles: [] });
const res = await fetchChannelPermissionsDiscord("chan1", {
rest,
token: "t",
});
expect(res.permissions).toContain("Administrator");
expect(res.permissions).toContain("ViewChannel");
});
});
describe("readMessagesDiscord", () => {