Xive for Streamer.bot
Every Xive event as a Streamer.bot trigger, your existing commands answering Xive chat, and actions that post, moderate and run your stream — live or offline.
Install
- 1
Unzip the download
It holds three files: Xive.Streamerbot.dll, XiveImport.bot and INSTALL.txt.
- 2
Copy the DLL into Streamer.bot
Close Streamer.bot, then put Xive.Streamerbot.dll in the dlls folder inside your Streamer.bot folder (make it if it is not there).
- 3
Import the actions
Open XiveImport.bot in Notepad and copy all of it. Start Streamer.bot, click Import, paste it into the Import String box and click Import. You get four actions in a Xive group: Start, Open window, Send chat, and Reference (a read-only list of everything below).
- 4
Sign in
Restart Streamer.bot (or run Xive • Open window) and click Connect Xive account. Your browser opens Xive sign-in once; after that it stays signed in.
Updating: close Streamer.bot, replace the DLL, start it again. Only re-import XiveImport.bot if Streamer.bot tells you to. Reconnect in the Xive window reloads your commands, rewards and stream info without a restart.
What you get
-
Triggers. Right-click an action → Triggers → Add → Custom → Xive: follows, gifts, Sparks, subs, gifted subs, supporter tiers, raids, Surge, channel point redemptions (and one trigger per reward), TTS, chat, and going live or offline.
-
Your commands, in Xive chat. Streamer.bot commands answer Xive chat with their aliases, cooldowns and permissions. Add Custom → Xive → Commands → (the command) to its action, next to the Twitch trigger.
-
Actions. Core → C# → Execute C# Method → Xive loader: chat, timeouts and bans, roles, chat settings, title and category, polls, raids, viewer lookups (including follow age) and redemptions.
-
Works offline too. When you are not live, chat and commands run on your channel’s offline chat, and test alerts from the studio still fire your triggers.
Example: thank new followers
- 1
Actions tab → right-click → Add, name it “Thank Xive follower”.
- 2
Triggers → Add → Custom → Xive → Channel → Xive Follow.
- 3
Sub-actions → Add → Core → Arguments → Set Argument: xiveMessage = Thanks for the follow, %user%!
- 4
Sub-actions → Add → Core → Actions → Run Action → “Xive • Send chat”, tick Run Immediately.
- 5
Test it from the Xive studio with Send test alert → Follow.
Swap the trigger and the message for anything else: %user% sent %giftName%!, Thanks for the %sparks% Sparks, %user%!, %user% is raiding with %viewers%!
Send as your channel bot: add one more Set Argument, xiveSendAs = bot, to post as your channel’s built-in bot (set its name and avatar in Creator Studio). Without it, Send chat uses Send chat as in the Xive window, which starts on Me. Needs version 1.0.8 or later.
!followage: on a !followage command’s action, set xiveUserId = %userId%, run GetUserInfo, then send %user% has followed for %followAgeLong%.
Clips
Version 1.0.9 adds clips: CreateClip, GetChannelClip and the Xive Clip Created trigger (Custom → Xive → Channel). Who may clip is set in Creator Studio → VODs & Clips → Stream clips.
- !clip: make a !clip command with the Xive command trigger. Set Argument xiveClipCreditUser = %userName% (the handle, not %user%), then Execute C# Method → Xive loader → CreateClip, then Send chat with xiveMessage = Clipped! %xiveClipUrl%.
- Shoutout with a clip: in !so, set xiveClipChannel = %input0% and run GetChannelClip. If xiveShoutoutClipFound is True, point an OBS Media Source at %xiveShoutoutClipUrl%, show it, wait %xiveShoutoutClipDuration% seconds, then hide it.
Trigger arguments
Every trigger carries platform (xive), xiveAccount, xiveLive, xiveViewers and xiveStreamId. Event triggers also carry user, userId, avatarUrl, amount, amountLabel (e.g. “500 Sparks”), eventType, createdAt and isTest.
| Trigger | Its own arguments |
|---|---|
| Xive Follow | — |
| Xive Gift | giftName, giftId, giftCredits, animationUrl, soundUrl |
| Xive Sparks | sparks (how many were sent) |
| Xive Subscription | monthsSubscribed (at least 1) |
| Xive Gifted Subs | gifts (how many subs, at least 1) |
| Xive Supporter Tier | tier (its name), tierKey (fixed id — branch on this, you can rename tiers) |
| Xive Raid | viewers (can be 0) |
| Xive Clip Created | clipperUsername, clipperDisplayName, clipTitle, clipUrl (share link), clipVideoUrl (MP4), clipThumbnailUrl, clipDuration, clipVia, clipId, clipSlug — every clip of your stream, whoever made it |
| Xive Reward Redemption | rewardId, rewardTitle, rewardKind, rewardCost, userInput (also rawInput), claimCount (how many times this viewer has claimed this reward, this one included), times (the same as 1st, 2nd, 3rd…), place (1st or 2nd on First / Second to the stream, empty otherwise) |
| Xive Rewards → (one reward) | the same as Reward Redemption, for that reward only |
| Xive TTS | message (the text to read out) |
| Xive Surge | level, points, participants, igniter, contributors |
| Xive Chat Message | user, userName, displayName, userId, message, rawInput, msgId, color, isBroadcaster, isModerator, isSubscribed, isVip, isSystem |
| Xive Commands → (one command), Command (Any) | everything Chat Message has, plus Streamer.bot’s command arguments: command, commandName, counter, userCounter, rawInput, input0, input1…, and match[…] for regex commands |
| Xive Command Cooldown | as a command, plus cooldownLeft (seconds) and cooldownType (global or user) |
| Xive Stream Online / Stream Offline | streamId, title, category |
| Xive Signed In | user (your Xive account) |
Actions
Set the arguments with Set Argument first, then add Execute C# Method → Xive loader → (method). Results come back as arguments for the sub-actions after it. The target user is never taken from the trigger: set xiveUserId (e.g. %userId%) or xiveUser (a username, e.g. %input0%).
| Method | Reads | Does |
|---|---|---|
| Xive • Send chat (Run Action) | xiveMessage, xiveSendAs (me or bot) | Posts to your Xive chat — live, or your offline chat when you are not live |
| SendReply | xiveMessage, xiveMsgId (or the trigger’s msgId), xiveSendAs | Replies to a chat line |
| DeleteMessage | xiveMsgId (or msgId) | Deletes a chat line |
| PinMessage / UnpinMessage | xiveMsgId, xiveUntilStreamEnd | Pins a line (Xive Pro) |
| TimeoutUser / UntimeoutUser | xiveUserId or xiveUser, xiveDuration (minutes), xiveReason | Timeouts |
| BanUser / UnbanUser | xiveUserId or xiveUser, xiveReason, xiveDuration | Bans (empty duration = permanent) |
| AddModerator / RemoveModerator, AddVip / RemoveVip | xiveUserId or xiveUser | Roles |
| SetSlowMode, SetFollowersOnly, SetEmoteOnly, SetMinAccountAge, SetGifs | xiveSeconds / xiveEnabled / xiveHours | Chat settings |
| GetChatSettings | — | Sets xiveSlowModeSeconds, xiveFollowersOnly, xiveEmoteOnly, … |
| SetTitle / SetCategory | xiveTitle / xiveCategory | Stream info (live) |
| CreatePoll | xivePollQuestion, xivePollOptions (2–8, split on | or ,) | Starts a poll |
| StartAdBreak, StartRaid | — / xiveRaidTarget | Ad break, raid (both need you live) |
| GetUserInfo | xiveUserId or xiveUser | Sets followAge, followAgeLong, followAgeDays, xiveTargetIsFollowing, xiveTargetIsSubscribed, … |
| GetViewers / PickRandomViewer | — | Sets xiveViewerCount, xiveViewerList / xiveRandomUser |
| CompleteRedemption / RejectRedemption | xiveRedemptionId (or run from a Reward trigger) | Resolves a channel point redemption |
| CreateClip | xiveClipDuration (5–60, default 30), xiveClipTitle, xiveClipCreditUser | Clips the last seconds of your live stream; sets xiveClipUrl (share link), xiveClipVideoUrl, xiveClipTitle, xiveClipId, xiveClipThumbnail (version 1.0.9) |
| GetChannelClip | xiveClipChannel, xiveClipPick (random, top or latest), xiveClipPeriod (week, month or all) | Finds another channel’s clip for a shoutout; sets xiveShoutoutClipFound, xiveShoutoutClipUrl (MP4), xiveShoutoutClipShareUrl, xiveShoutoutClipTitle, xiveShoutoutClipDuration (version 1.0.9) |
| DropChest | — | Drops a community chest for your whole chat while you’re live; sets xiveChestAmount and xiveChestGolden (re-import XiveImport.bot from version 1.0.7 to get it) |
Troubleshooting
The Import dialog lists nothing
Paste the text of XiveImport.bot into the Import String box rather than dropping the file onto the dialog.
My commands do not show under Custom → Xive → Commands
Save the command once in Streamer.bot, or click Reconnect in the Xive window. The status line says how many commands were loaded. A deleted or renamed command keeps its old menu entry until Streamer.bot restarts.
Send chat does nothing
It reads xiveMessage, not message (on a chat trigger, message is what the viewer typed). Check the Xive window for the reason it gives.
A reply action keeps answering itself
Lines the plugin posted are ignored for a few seconds, so this should not happen on 1.0.2 or newer — update the DLL.