pin_message
Pin important messages in Discord text channels to keep them visible at the top for easy reference by all members.
Instructions
Pin a message in a text channel.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| message_id | Yes | ||
| reason | No |
Implementation Reference
- src/discord_mcp/server.py:758-767 (handler)The handler function that implements the 'pin_message' MCP tool. It fetches the channel and message using Discord.py and calls message.pin(reason=reason) to pin the message.async def pin_message(channel_id: str | int, message_id: str | int, reason: str | None = None, ctx: Context = None) -> str: # type: ignore[override] """Pin a message in a text channel.""" assert ctx is not None bot, _ = await _acquire(ctx) channel = await _ensure_channel(bot, _require_int(channel_id, "channel_id")) message = await _fetch_message(channel, _require_int(message_id, "message_id")) await _call_discord("pin message", message.pin(reason=reason)) return f"Pinned message {message.id} in channel {channel.id}."