# Modify Guild Member — Discord Bot

> Update attributes of a guild member. See the docs here

- Key: `discord_bot-modify-guild-member`
- Type: Action (Write)
- Version: 1.0.2
- App: Discord Bot (`discord_bot`) — https://pipedream.com/apps/discord-bot.md
- This page (HTML): https://pipedream.com/apps/discord-bot/actions/modify-guild-member
- Hints: destructive · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/discord_bot/actions/modify-guild-member/modify-guild-member.mjs

## Description

Update attributes of a guild member. [See the docs here](https://discord.com/developers/docs/resources/guild#modify-guild-member)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `guildId` | `string` | Yes | Discord Guild where your channel lives Options are loaded from the connected account. |
| `channelId` | `string` | No | Id of channel to move user to (if they are connected to voice) Options are loaded from the connected account. |
| `userId` | `string` | Yes | Please select a user Options are loaded from the connected account. |
| `nick` | `string` | No | Value to set user's nickname to. |
| `roles` | `string[]` | No | Please select the role you want to add to the user Options are loaded from the connected account. |
| `mute` | `boolean` | No | Whether the user is muted in voice channels. Will throw a 400 error if the user is not in a voice channel |
| `deaf` | `boolean` | No | Whether the user is deafened in voice channels. Will throw a 400 error if the user is not in a voice channel |
| `comunicationDisabledUntil` | `string` | No | When the user's timeout will expire and the user will be able to communicate in the guild again (up to 28 days in the future), set to null to remove timeout. Will throw a 403 error if the user has the ADMINISTRATOR permission or is the owner of the guild. E.g. 2025-01-01T13:28:38+00:00, 2030-01-01 |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "discord_bot",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "discord_bot-modify-guild-member",
  arguments: {
    guildId: "Guild",
    channelId: "Channel",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "discord_bot-modify-guild-member",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    discord_bot: { authProvisionId: "apn_xxxxxxx" },
    guildId: "Guild",
    channelId: "Channel",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "discord_bot-modify-guild-member",
    "configured_props": {
      "discord_bot": { "authProvisionId": "apn_xxxxxxx" },
      "guildId": "Guild",
      "channelId": "Channel"
    }
  }'
```

---

- App: https://pipedream.com/apps/discord-bot.md · All apps: https://pipedream.com/apps
