Skip to content

Commit 40862aa

Browse files
committed
fix(serve): send member_permissions value in slash_command events
Allows consumers to check for specific permissions beyond just administrator (e.g., manage_guild for conversation mode toggle).
1 parent d63bf2c commit 40862aa

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "discord-cli-agent"
7-
version = "0.6.2"
7+
version = "0.6.3"
88
description = "Discord CLI for AI agents"
99
readme = "README.md"
1010
license = "MIT"

src/discli/commands/serve.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,13 @@ async def _callback(interaction: discord.Interaction, **kwargs):
253253
itk = str(uuid.uuid4())
254254
interactions[itk] = interaction
255255
await interaction.response.defer(thinking=True)
256-
# Check if user has administrator permission in this guild
256+
# Extract guild permissions for the invoking user
257257
is_admin = False
258+
member_permissions = 0
258259
if hasattr(interaction.user, "guild_permissions"):
259-
is_admin = interaction.user.guild_permissions.administrator
260+
perms = interaction.user.guild_permissions
261+
is_admin = perms.administrator
262+
member_permissions = perms.value
260263
emit({
261264
"event": "slash_command",
262265
"command": cmd_name,
@@ -267,6 +270,7 @@ async def _callback(interaction: discord.Interaction, **kwargs):
267270
"guild_id": str(interaction.guild_id) if interaction.guild_id else None,
268271
"interaction_token": itk,
269272
"is_admin": is_admin,
273+
"member_permissions": member_permissions,
270274
})
271275

272276
# Build a proper signature so discord.py registers slash options

0 commit comments

Comments
 (0)