Squiso is a free, powerful automation tool that lets you customize your Twitch stream using simple scripts.

How to Post to Discord on Twitch Channel Updates

This examples sends a Discord message each time you update your title or category on Twitch.

Script Example

import com.squiso.*; import com.squiso.exception.*; import com.squiso.scripting.*; import com.squiso.scripting.data.*; import com.squiso.keyboard.*; import com.squiso.twitch.*; import com.squiso.datatypes.*; import com.squiso.utils.*; // Important - Please do not change the row below - otherwise you will get a compilation error! public class Script_Example extends SquisoScript { SquisoString oldTitle = new SquisoString(""); SquisoString oldCategoryName = new SquisoString(""); @Override public void onInitiated(API api) throws SquisoException { // Get the current channel information ChannelData channelData = api.getTwitchChannelData(); // Save the current title and category, so that we know if they get updated this.oldTitle = channelData.getTitle(); this.oldCategoryName = channelData.getCategoryName(); api.log("[Example_DiscordMessageTwitchCategoryName] Old title is \"" + oldTitle + "\"."); api.log("[Example_DiscordMessageTwitchCategoryName] Old category is \"" + oldCategoryName + "\"."); } @Override public void onTwitchChannelUpdate(OnTwitchChannelUpdateData data, API api) throws SquisoException { // Extract the current channel title and category SquisoString currentTitle = data.getTitle(); SquisoString currentCategoryName = data.getCategoryName(); api.log("[Example_DiscordMessageTwitchCategoryName] Title is \"" + data.getTitle() + "\"."); api.log("[Example_DiscordMessageTwitchCategoryName] Category is \"" + data.getCategoryName() + "\"."); // Start writing the Discord message SquisoString discordMessage = new SquisoString(""); // If the title was changed if (!currentTitle.equals(oldTitle)) { // Compose the discord message discordMessage.append("Squiso just updated their title:"); discordMessage.append("\n"); discordMessage.append("\n"); discordMessage.append("> " + currentTitle); discordMessage.append("\n"); discordMessage.append("\n"); discordMessage.append("https://www.twitch.tv/twitch"); // Save the new title oldTitle = currentTitle; } // If the category was changed if (!currentCategoryName.equals(oldCategoryName)) { // Compose the discord message discordMessage.append("Squiso just updated their category:"); discordMessage.append("\n"); discordMessage.append("\n"); discordMessage.append("> " + currentCategoryName); discordMessage.append("\n"); discordMessage.append("\n"); discordMessage.append("https://www.twitch.tv/twitch"); // Save the new category oldCategoryName = currentCategoryName; } // Assign the Discord webhook URL SquisoString discordWebhookURL = new SquisoString("https://discord.com/api/webhooks/123/abc"); // Send the Discord message api.sendSimpleDiscordMessage(discordWebhookURL, discordMessage); } }