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

How to Create a !Screenshot Chat Command That Posts to Discord

This script example listens to a !screenshot command, takes a partial screenshot of your desktop and then posts it to Discord.

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 { @Override public void onTwitchChatMessage(OnTwitchChatMessageData data, API api) throws SquisoException { // If the chat message starts with !screenshot if (data.getMessageText().startsWith("!screenshot")) { // If the user is either the broadcaster, a subscriber or a prime subscriber if (data.isUserBroadcaster() || data.isUserSubscriber() || data.isUserPrimeSubscriber()) { // Take a JPG screenshot from position 200x400 with the size 800x600 SquisoData screenshot = api.takeScreenshot(200, 400, 800, 600, "jpg"); // Save a copy of the screenshot to the disk screenshot.writeToFile("screenshot.jpg"); // Upload the file to the Squiso servers temporarily SquisoString url = api.uploadFileTemp(screenshot, "jpg"); // Assign the Discord webhook URL SquisoString discordWebhookURL = new SquisoString("https://discord.com/api/webhooks/123/abc"); // Compose the discord message SquisoString discordMessage = new SquisoString(data.getUserName() + " just took a screenshot!\n\n" + url); // Send a message with the link to the screenshot to a Discord server api.sendSimpleDiscordMessage(discordWebhookURL, discordMessage); } } } }