VotePipe

Template Variables

All Plans

Dynamic placeholders for customizing messages, commands, and payloads

Overview

Template variables are placeholders that get replaced with actual vote data when messages are sent or rewards are executed. Use them to personalize notifications and create dynamic reward commands.

Variables use curly brace syntax: {variable_name}. For callback payloads, use double braces: {{variable_name}}.

Core Variables

These variables are available in all contexts (Discord, callbacks, rewards):

VariableDescriptionExample
{voter_name}Player's username who votedPlayerOne
{voter.username}Alias for voter_namePlayerOne
{provider_name}Provider display nameHytale-Servers.pro
{provider_key}Provider identifier/slughytale-servers-pro
{vote_id}Unique vote identifiervt_abc123...
{received_at}ISO 8601 timestamp2026-01-15T10:30:00Z
{timestamp}Current timestamp2026-01-15T10:30:00Z

Extended Variables

Additional variables for more detailed templates:

VariableDescription
{vote.id}Unique vote identifier
{vote.provider.name}Provider display name (nested syntax)
{vote.provider.key}Provider key (nested syntax)
{vote.received_at}Vote timestamp (nested syntax)
{organization.name}Your organization name
{organization.slug}Your organization slug
{provider_server_url}Provider server/vote URL (if configured)
{raw_payload}Full original webhook payload (JSON string)

Context-Specific Usage

Discord Messages

Use single braces in Discord message templates:

🎉 **{voter_name}** just voted on **{provider_name}**! Vote ID: `{vote_id}` Time: {received_at}

Server Callbacks

Use double braces in callback payload templates:

json
{ "event": "vote", "player": "{{voter_name}}", "provider": "{{provider_key}}", "vote_id": "{{vote_id}}", "timestamp": "{{received_at}}" }

See Callback Variables API for the complete list of callback-specific variables.

Plugin Rewards

Use single braces in reward commands and messages:

# Message action Thanks for voting on {provider_name}, {voter_name}! # Command action give {voter_name} diamond 5 # Broadcast action 🎉 {voter_name} just voted and received a reward!

Text Formatting Tags

In addition to variables, text fields in plugin rewards support inline formatting tags for colors and styles:

TagDescriptionExample
<#RRGGBB>Set hex color<#FF0000>Red text
<BOLD>Enable bold text<BOLD>Important
<ITALIC>Enable italic text<ITALIC>Emphasis
<MONO>Enable monospace font<MONO>Code style
<RESET>Reset all formatting<#FF0000>Red<RESET> Normal

Example: Formatted Broadcast

<#FFD700><BOLD>{player}<RESET> <#FFFFFF>just voted on <#00BFFF>{service}<#FFFFFF>!

Displays: PlayerName just voted on HytaleCharts!

Supported fields: Formatting tags work in message, title, and subtitle fields. Command fields only support variable replacement (no formatting tags).

Default Values

You can specify fallback values for variables that might be empty:

{variable|default_value} # Example {provider_server_url|https://example.com}

If provider_server_url is not set, the default value will be used instead.

Plan-Specific Variables

Some variables are only available on higher plans:

Pro+ Variables

  • {voter_total_votes} - Player's total vote count
  • {voter_rank} - Player's leaderboard position
  • {organization_total_votes} - Your server's total votes

Pro+ Variables

  • {voter_streak} - Current voting streak (days)
  • {voter_best_streak} - Longest streak achieved
  • {voter_percentile} - Voter's percentile ranking

Examples

Basic Discord Message

🗳️ **{voter_name}** voted on **{provider_name}**! Thanks for supporting the server.

Rich Discord Message (Pro+)

🎉 **{voter_name}** just voted! 📊 **Stats:** • Total Votes: {voter_total_votes} • Rank: #{voter_rank} • Provider: {provider_name} Thank you for supporting our server!

Reward Command

# Give items based on provider give {voter_name} vote_token 1 # Or run a custom script votereward {voter_name} {provider_key} {vote_id}

Related Documentation