Skip to content

Include mentioned users in message events #1

Description

@DevRohit06

Problem

When discli emits message events (both listen and serve commands), it includes mentions_bot to indicate whether the bot was mentioned, but it does not include the full list of mentioned users in the event payload.

Discord's message.mentions contains all @mentioned users as full Member/User objects with .id, .name, etc. This data is available but not being forwarded.

Why this matters

Downstream consumers (like PocketPaw's Discord adapter) need user IDs to:

  • Mention users in replies using <@USER_ID> format
  • Send DMs to mentioned users
  • Resolve usernames to numeric IDs

Without this field, the agent has no way to look up a user's ID when someone says "mention @john" or "DM @john" -- the raw content contains <@123456> but there's no structured way to map usernames to IDs from the event data alone.

The MCP server exposes discord_member_info for this, but that's only available to MCP-capable backends. The event payload itself should carry this information since Discord already provides it.

Suggested fix

In commands/listen.py (line 68-82) and commands/serve.py (line 126-142), add a mentions field to the event data:

"mentions": [{"id": str(u.id), "name": str(u)} for u in message.mentions],

This would make the event payload look like:

{
  "event": "message",
  "author": "someuser#1234",
  "author_id": "111222333",
  "content": "hey <@444555666> can you help?",
  "mentions_bot": false,
  "mentions": [
    {"id": "444555666", "name": "john#5678"}
  ]
}

Files to change

  • discli/commands/listen.py -- on_message handler
  • discli/commands/serve.py -- on_message handler

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions