Logo
This extension requires Streamer.bot version 1.0.0.

USER INVENTORY

Satisfy the desire to COLLECT and LOOT!

• Create custom items with custom item effects
• Create loot pools and allow for random drops with different rarities
• Add and remove items from user's inventories
• Have users trade items between one another
• Buy and sell items in combination with a currency system
• AND MORE! Check it out already!
Pog Clap

This extension requires a .dll file (TawmaeUI.dll) to run. You will be asked to have it automatically downloaded from my Github Repository to your Streamer.bot directory when you open the Settings UI, but you can also manually download it here. You can use tools like JetBrain dotPeek to check the .dll file's content.
ACTION IMPORT
Loading...
Never import actions from untrusted sources. Want to know what you are importing? Paste the import code in here (Decoder made by TakeJoshyy).
SETUP

1. Copy the Action Import text from above into your clipboard.

2. In Streamer.bot, click the Import button at the top of the window. Paste the text into the Import String section and press Import at the bottom.

3. Now head to the Commands tab and look for the imported commands. Then rightclick the group and select Group -> Enable All.

4. In the [USER INVENTORY] [#] Settings action, rightclick the Test trigger and hit Test Trigger to open the Settings UI once. This makes sure that the .dll file has been downloaded and is up to date.

If you don't have my .dll in your Streamer.bot directory already, it will ask you to automatically download it. If you wish to manually place it there, you can to that here.

5. In the Items tab, you can theoretically start to add your first items, assign their value (if wanted) and an action they trigger upon usage.

But other than that, you're essentially done!

COMMANDS

!addItem [User] [Item] <Amount (optional)>

Add an item to a user's inventory. The amount needs to be in angled brackets and is optional.

!removeItem [User] [Item] <Amount (optional)>

Remove an item from a user's inventory. The amount needs to be in angled brackets and is optional.

!inventory or !items

Post the content of your inventory to chat.

!useItem [Item] <Amount (optional)> @[targetUser (optional)]

Use an item in your inventory. The amount needs to be in angled brackets and is optional. If a user is targetted, it needs an @-symbol upfront, a target is optional. This will populate a variable %hasTarget% that is either 'True' or 'False'. And if 'True' also target user variables (%targerUser%, %targerUserName%, %targetUserId%). If the amount is greater than 1, the according action will be triggered as many times as the amount is.

!tradeItem [User] [Offered Item] <Offered Amount (optional)> | [Wanted Item] <Wanted Amount (optional)>

Offer an item trade to a user. Offered and wanted items are separated by a pipe symbol.

!checkOffers

Post a list of offers for you into chat.

!acceptTrade [User]

Accept a user's offer.

!rejectTrade [User]

Reject a user's offer.

!itemValue [Item]

Check the (currency) value of an item.

!sellItem [Item] <Amount (optional)>

Sell an item for currency points. The amount is optional and will multiply with its value.

!buyItem [Item] <Amount (optional)>

Buy an item for currency points. The amount is optional and will multiply with its value.

!itemList

Post all available items into chat. The 'Advanced' tab of the Settings UI allows to append their value to that list.

SETTINGS UI

The Settings UI allows for some customization.



General
In here, you can allow buying, selling, trading, multiple item usage or response types. You can also exclude specific items from being sold or purchased.

Items
This tab allows you to define your items. Create items, name them, give them a currency value for selling (if wanted) and assign the action they're supposed to trigger when used.

Loot Tables
This tab allows you to create different loot tables. Give them a name and assign items you have created in the 'Items' tab. Give them an amount and a probability to get looted. Make sure the probability adds up to 100% for all items in a loot table. You can then use the [USER INVENTORY] [L] 1 - Loot Random Item action for people to be able to loot something off a loot pool.

Advanced
The advanced tab allows to rename your currency global variable name and chat name. Also if you used my old inventory extension, you can convert your old items to the new system. Also a reset button in case you want to reset all items.

Chat Responses
Chat Responses to customize. You can make use of all available variables listed below each message. If you don't want a message to appear, just enter a single hyphen (-) as the message.

FAQ & EXAMPLES

How do I add a specific item with other triggers than the '!addItem' command?

1. Create a new action.
2. Create three new subactions: Core → Arguments → Set Argument. Check the [USER INVENTORY] [M] 1 - Add Item action what those arguments are called: targetUserName, itemName and itemAmount.
3. In our example, we still use a command, but one any user can trigger: '!potion'. That command should give them 5 Health Potions. This can be any trigger you want though.
4. So the Value for targetUserName will just be %userName%, because the redeemer is also our receiving target. Our itemName is Health Potion and our itemAmount is 5.
5. Create a new subaction: Core → Actions → Run Action and place it below the Set Argument subactions.
6. Select the action [USER INVENTORY] [M] 1 - Add Item and check Run Action Immediately.
7. Done.


How do I create an item effect?

1. In our example, we want to create an item called Smoke Bomb. Upon using it, the Twitch chat will be cleared.
2. Create a new action, name it something your will easily recognize, for example Item Effect: Smoke Bomb.
3. We don't need any trigger, because using the item will trigger the action. So just leave the trigger section empty.
5. As for our subaction, we wanted to clear the Twitch chat, so we just create a new subaction: Twitch → Chat → Clear Chat Messages. Nothing else required, our action is done.
6. Now open the Settings UI and head to the Items tab. Create the item Smoke Bomb, give it a value if you want and then select the action we have just created.
7. Save and then you are done. You can now use '!useItem Smoke Bomb' to clear your chat.




How do I create an item effect with a targetted user?

1. The procedure is exactly the same as creating a non-targetted item effect. Create a new action, name it something your will easily recognize, for example Item Effect: Rusty Dagger. No triggers required.
2. When using an item with a targetted user '!useItem Rusty Dagger @tawmae', the action will populate a variable %hasTarget% that can be either True or False. If it is True, it will also populate target user variables: %targetUser%, %targerUserName% and %targerUserId% that we can later use.
3. Create a new subaction: Core → Logic → If/Else and check if %hasTarget% Equals True. Then if True, you can do whatever you want in the True Result section (and make use of the other target variables) and if False, whatever you want to do in the False Result section.
4. And you're done!


How do I check if a user has a certain item in their inventory?

1. Create a new action.
2. Create three new subactions: Core → Arguments → Set Argument. Check the [USER INVENTORY] [M] 5 - Check If User Has Item action what those arguments are called: targetUserName, itemName and itemAmount.
3. In our example, we have a '!timeout' command want to check if the target has a Trap Card in their inventory to potentially repel the timeout command.
4. So the Value for targetUserName will just be %rawInput%, because the the redeemer enters the name of our target as the command input. Our itemName is Trap Card and our itemAmount is 1.
6. Create a new subaction: Core → Actions → Run Action and place it below the Set Argument subactions.
7. Select the action [USER INVENTORY] [M] 5 - Check If User Has Item and check Run Action Immediately.
8. Running the action will populate the variable %hasItem% that is either True or False. So you can then create a new subaction Core → Logic → If/Else and check if %hasItem% Equals True. Then if True, you can do whatever you want in the True Result section and if False, whatever you want to do in the False Result section.


How do I create a loot table?

1. Open the Settings UI and head to the Loot Tables tab.
2. Enter a name for the loot table, for example Chest (Epic). This will then later be used in the [USER INVENTORY] [L] 1 - Loot Random Item action to determine which pool the random item is being looted from.
3. You can now start adding the items you have previously created in the Items tab. Give them any amount you want and then the chance for them to be looted. Can be decimal numbers as well. Just make sure all items add up to exactly 100% for the table.
1. Hit Save and you are done.

How do I create a random loot action and assign one of my loot tables?

1. Create a new action.
2. Create two new subactions: Core → Arguments → Set Argument. Check the [USER INVENTORY] [L] 1 - Loot Random Item action what those arguments are called: targetUserName and lootTableName.
3. In our example, we have a '!loot' command that users can redeem once per stream to get a random item from our loot table called Daily Loot Chest (we already created that one in the Loot Tables tab of our Settings UI)
4. So the Value for targetUserName will just be %userName%, because the the redeemer also is our receiving target. Our lootTableName is Daily Loot Chest and has to exactly match whatever we defined in our loot tables.
6. Create a new subaction: Core → Actions → Run Action and place it below the Set Argument subactions.
7. Select the action [USER INVENTORY] [L] 1 - Loot Random Item and check Run Action Immediately.
8. And then you are done. You can run the command and you will loot a random item of that loot table. Note: This action also populates some variables you can use afterwards: %lootedItemName%, %lootedItemAmount% and %lootedItemChance%.


CHANGELOG
Date Changes Version
June 21, 2025 Added a sale and purchase exclusion list on the General tab of the settings menu. 1.0.3
June 21, 2025 Added a method to buy items for their value; added a method to post all available items to chat. 1.0.2
June 18, 2025 Bumped the required dll version from 1.2.4 to 1.2.5 due to a little bug when hitting 'Save' instead of 'Save And Exit' and clearing the item list. 1.0.1
June 18, 2025 Release 1.0.0