Twitch
Integration with Twitch
Allows:
- sending messages from Hytale to Twitch
- sending messages from Twitch to Hytale
- subscribing to the start of a Twitch broadcast


Message Types
Any module that sends a message also has its own type, which can be found here
| Type | Explanation |
|---|---|
ADVANCEMENT | Advancement message |
DEATH | Death message |
MESSAGE_CHAT_GLOBAL | Message from global chat |
MESSAGE_CHAT_LOCAL | Message from local chat |
SERVER_ENABLE | Server enable message |
SERVER_DISABLE | Server disable message |
| ... | ... |
If you have your own chats with custom names, for example admin, you will need to specify MESSAGE_CHAT_ADMIN. If you have your own groups from the vanilla module, you need to specify their name
🌍 Localization
Pathlocalizations → language.yml → integration.twitch
twitch:
null_player: "This player does not exist"
sender_name: "Twitch"
format_reply: "<fcolor:4><hover:show_text:'<fcolor:4><reply_message>'>[Reply to @<reply_user>]</hover> "
custom_command:
ping: "<player>'s ping is <replacement:ping>"
message_channel:
INTEGRATION_TWITCH: "<fcolor:2><name> <fcolor:1>» <fcolor:4><reply><message>"
MESSAGE_CHAT_GLOBAL: "<final_message>"twitch:
null_player: "Игрок не найден"
sender_name: "Twitch"
format_reply: "<fcolor:4><hover:show_text:'<fcolor:4><reply_message>'>[Ответ на @<reply_user>]</hover> "
custom_command:
ping: "Пинг игрока <player> равен <replacement:ping>"
message_channel:
INTEGRATION_TWITCH: "<fcolor:2><name> <fcolor:1>» <fcolor:4><hover:show_text:'<fcolor:4><reply><message>'"
MESSAGE_CHAT_GLOBAL: "<final_message>"null_player
Message shown if the player entered via custom_command is not found
sender_name
Name of sender (of integration itself), which will be used, for example, in another integration for placeholders
format_reply
The message format for the <reply> tag when a message is a reply to another one
custom_command
A list of custom integration commands, where the key is the command name and the value is its message format
custom_command:
tps:
content: "<tps>"A command to get the tps value on the server. Don't forget to define it in integration.yml
Placeholders
You can use all the placeholders that are used in the initial Hytale message.
There is a <reason> placeholder there, which means I can use <reason> inside Twitch messages.
There are also placeholders that are GUARANTEED to be replaced in any message:
<final_message>the message sent to Hytale<final_clear_message>the message sent to Hytale without unicode emojis<player>the nickname of the player who sent the message<message>the raw message written by the player<plain_message>the formatted message written by the player<reply>the formatted reply message; it will be empty if the main message is not a reply- Obviously, all placeholders from
PlaceholderAPIandFlectonePulsewill also work
A message sent from Twitch to Hytale has its own placeholders:
| Placeholder | What it returns |
|---|---|
<name> | Twitch user's nickname |
message_channel
A list of messages with the final message format
Take the name from the message types list
Insert it into message_channel
message_name: "<final_message>"⚙️ Setting
Pathintegration.yml → twitch
twitch:
enable: false
client_id: ""
token: ""
custom_command:
ping:
need_player: true
aliases:
- "!ping"
message_channel:
INTEGRATION_TWITCH:
- "faseri4ka"
MESSAGE_CHAT_GLOBAL:
- "faseri4ka"
follow_channel:
faseri4ka:
- "stream start https://twitch.tv/faseri4ka"
destination:
type: "CHAT"
sound:
enable: falseenable
Enables or disables the functionality of the module
- Before enabling, insert your Twitch token and client ID
- After enabling, it is RECOMMENDED to restart the server, otherwise the plugin may cause a hang
client_id
User ID. Environment variables can be used, e.g., ${VALUE}

token
User token for connection. Environment variables can be used, e.g., ${VALUE}

custom_command
A list of custom integration commands; the key is the command name and can be anything. Commands can ONLY be informational; they do not and will not execute anything on the server.
| Parameter | Explanation |
|---|---|
need_player | Whether to check the first argument of the command for a player name, e.g., !ping TheFaser |
aliases | A list of aliases for using the command |
custom_command:
tps:
need_player: false
aliases:
- "!tps"
- "!tickpersecond"A command to get the tps value on the server using !tps or !tickpersecond. Don't forget to create the message in the localization file
message_channel
A list of message types and Twitch channel names
Copy the Twitch channel names where the message should be sent (faseri4ka)
Configure it:
message_channel:
COMMAND_BAN:
- "faseri4ka"There can be any number of channels, as long as the connected account has access to them. Localization configuration is optional; by default, the message will be sent with the <final_message> format.
follow_channel
A list where the key is the channel name and the value is a list of commands to be executed when the broadcast starts
Copy the channel name faseri4ka
Configure it:
follow_channel:
faseri4ka:
- "stream start [https://twitch.tv/faseri4ka](https://twitch.tv/faseri4ka)"- Up to 10 channels can be tracked simultaneously, as long as the connected account has access to them
- There can be any number of commands triggered at the start of the broadcast
destination
Where the message will be sent
| Type | Explanation | Requires additional configuration? |
|---|---|---|
ACTION_BAR | Message above the player's inventory | Yes |
CHAT | Message to chat | No |
TITLE | Fullscreen message | Yes |
SUBTITLE | Fullscreen message (top line) | Yes |
TOAST | Notification in the bottom right corner | Yes |
sound
Sound playback
🔐 Permissions
Pathpermission.yml → integration.twitch
twitch:
name: "flectonepulse.module.integration.twitch"
type: "TRUE"
sound:
name: "flectonepulse.module.integration.twitch.sound"
type: "TRUE"name
Permission name
type
Permission type
| Type | Explanation |
|---|---|
TRUE | Available to any player |
FALSE | Available to no one, must be granted separately (e.g., using LuckPerms) |
OP | Available to server operators |
NOT_OP | Available to NON-operators of the server |
sound
Permission to use the sound
Last updated on
Edit on GitHub
FlectonePulse