discord / trigger / schema v1
Discord: Voice Channel
Trigger when a member joins or disconnects from voice, starts streaming, or mutes
Prerequisites
- Add the discord plugin inside this workflow.
- Connect and authorize a discord account before running this node.
Parameters
| Parameter | Type | Description |
|---|---|---|
ServerguildId | discord_guild Required | The Discord server this trigger watches. Your bot must be a member of it. |
Channel FilterchannelFilter | discord_channel Optional | Optional. Empty = fires for EVERY voice channel the bot can see. Pick channels to only watch those. |
Trigger On (Mute event)muteAction | select Optional | Optional, only for the "Mute / Unmute" output. Empty = fires on both muting and unmuting; pick one to only react to that direction. Options: Mute only (mute), Unmute only (unmute) |
User FilteruserFilter | discord_user Optional | Optional. Only voice activity from these specific users fires the trigger. Empty = anyone. |
Ignore BotsignoreBots | boolean Optional | Skips bot accounts (e.g. music bots) so things like temp voice channels only react to real people. |
Inputs and outputs
Inputs
No ports declared.
Outputs
on_voice_join- Voice Joined (output)on_member_disconnect- Member Disconnected (output)on_voice_streaming_start- Stream Started (output)on_voice_mute_update- Mute / Unmute (output)on_voice_move- Moved Channels (output)user_id- User ID (output)username- Username (output)user_avatar- User Avatar URL (output)guild_id- Server ID (output)channel_id- Channel ID (output)channel_name- Channel Name (output)old_channel_id- Previous Channel ID (output)new_channel_id- New Channel ID (output)old_channel_name- Previous Channel Name (output)new_channel_name- New Channel Name (output)self_muted- Is Muted (output)self_deaf- Is Deafened (output)is_streaming- Is Streaming (output)video- Camera On (output)is_bot- Is Bot (output)member_roles- Member role IDs (output)timestamp- Timestamp (output)
Output data schema
[
{
"key": "user_id",
"type": "discord.user.id",
"label": "User ID",
"bindingRole": "event_subject"
},
{
"key": "username",
"type": "discord.user.username",
"label": "Username",
"bindingRole": "event_subject"
},
{
"key": "user_avatar",
"type": "url",
"label": "User Avatar URL"
},
{
"key": "guild_id",
"type": "discord.guild.id",
"label": "Server ID",
"bindingRole": "current_context"
},
{
"key": "channel_id",
"type": "discord.channel.voice.id",
"label": "Channel ID",
"bindingRole": "current_context"
},
{
"key": "channel_name",
"type": "discord.channel.name",
"label": "Channel Name",
"bindingRole": "current_context"
},
{
"key": "old_channel_id",
"type": "discord.channel.voice.id",
"label": "Previous Channel ID"
},
{
"key": "new_channel_id",
"type": "discord.channel.voice.id",
"label": "New Channel ID"
},
{
"key": "old_channel_name",
"type": "discord.channel.name",
"label": "Previous Channel Name"
},
{
"key": "new_channel_name",
"type": "discord.channel.name",
"label": "New Channel Name"
},
{
"key": "self_muted",
"type": "boolean",
"label": "Is Muted"
},
{
"key": "self_deaf",
"type": "boolean",
"label": "Is Deafened"
},
{
"key": "is_streaming",
"type": "boolean",
"label": "Is Streaming"
},
{
"key": "video",
"type": "boolean",
"label": "Camera On"
},
{
"key": "is_bot",
"type": "boolean",
"label": "Is Bot",
"bindingRole": "event_subject"
},
{
"key": "member_roles",
"type": "array",
"label": "Member role IDs",
"items": {
"key": "role_id",
"type": "discord.role.id",
"bindingRole": "event_subject"
},
"bindingRole": "event_subject"
},
{
"key": "timestamp",
"type": "timestamp",
"label": "Timestamp"
}
]Examples and troubleshooting have not yet been reviewed for this contract.
Version and compatibility
This reference follows the current authoring contract. Existing workflows retain their saved node revisions.
Contract identifier
a3f6afbc24249bbff2a3155fe1db5d2ccf6af4bc732af691955316d2e0b3c786