discord_timeout_member
Temporarily restrict a Discord member's ability to interact by setting a timeout duration. Specify guild, user, and minutes to moderate server behavior.
Instructions
Put a member in timeout (0 minutes to remove the timeout).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| guild_id | Yes | ||
| user_id | Yes | ||
| duration_minutes | Yes | ||
| reason | No |
Implementation Reference
- src/tools/members.ts:144-156 (handler)The handler implementation for 'discord_timeout_member' that performs the timeout action on a Discord member.
case "discord_timeout_member": { const guild = await discord.guilds.fetch(validateId(args.guild_id, "guild_id")); const member = await guild.members.fetch(args.user_id as string); const duration = args.duration_minutes as number; const until = duration > 0 ? new Date(Date.now() + duration * 60 * 1000) : null; await member.disableCommunicationUntil(until, args.reason as string | undefined); return { content: [{ type: "text", text: duration > 0 ? `✅ ${member.user.tag} is in timeout for ${duration} minutes.` : `✅ Timeout removed from ${member.user.tag}.`, }], }; } - src/tools/members.ts:72-84 (schema)The schema definition for the 'discord_timeout_member' tool.
name: "discord_timeout_member", description: "Put a member in timeout (0 minutes to remove the timeout).", inputSchema: { type: "object", properties: { guild_id: { type: "string" }, user_id: { type: "string" }, duration_minutes: { type: "number" }, reason: { type: "string" }, }, required: ["guild_id", "user_id", "duration_minutes"], }, },