Hi. I went through the policies in regards to handling of the bits in the extension but it seems that my particular question does not have an answer.
Basically I’m working on an extension which interacts with a game and I don’t want to opt into the “Bits in Extensions” system where I’m forced to take a cut because that would mean me having to set up a business for that and deal with paperwork. Therefore I want my project to be non profit.
In my mod I have a desktop app for the streamers which runs on points. Then the streamer can set exchange rates from twitch channel points into my points and also from bits into my points.
For example a channel reward costing 1000 channel points will net you 1000 my points with the exchange rate of 1:1 and for bits you could set for example 1:10 so 1000 bits nets you 10000 my points.
Afterwards both bits and channel rewards would be captured via PubSub where the points would be awarded in a local sqlite db and an update would be then sent to the viewer’s extension rewarding them with the points they could spend on rewards which are unique to each stream and fully configurable in the desktop app (the app uploads the config to the server and the extension can then grab it from there).
Would a system like this be ok with Twitch ? I couldn’t find any specifics in the policies but from what I checked it doesn’t seem like I’m breaking any rules ?
Here’s how the system works more or less when it comes to points.
First you follow the green flow which then turns into the purple flow.
Blue flow is separate just for redeeming things.
I’m still conflicted when it comes to handling the communication with the desktop app and the extension via the server by using signalr or using the Twitch API which has pretty bad rate/data limiting for my use case.
if using bits/cheer in response to a user cheering in a channel:
becuase you’d be transacting cheer in a channel for extension points instead of transacting bits for extension points
in my opinion: No
in my opinion I don’t think this is ok as it’s transacting “a currency” for “another currency”
channel points for an action is fine but not to another currency
thats before we discuss limits based on country and how earning works
TLDR
In my opinion:
cheering for extension currency - no
channel points for extension currency - no
extension bits usage for extension currency - yes (this being the thing you don’t want to do)
See also the Cheer/Bits AUP - Twitch.tv - Bits Acceptable Use which guides away from singular actions (for cheering responses) to grouped actions by the channel as a whole.
And specifically this clause, for when cheering in a channel:
Selling, offering to sell, trading, bartering, or transferring Bits to other users of Twitch in exchange for (a) real or virtual currencies; or (b) any other items of value whether inside or outside the Twitch Services. Any attempted prohibited sale or transfer will be null and void.
Thanks for the reply. Damn that sucks. I wanted it to be seen as more of a “you additionally get extension points as you spend bits or channel points” but I can definitely see how this could also be seen as a direct transaction.
Do you have any recommendations as to how to handle this any other way which would not interfere with Twitch policies and give me the freedom of not being forced to use the “Bits in Extensions” feature ?
This feature exists for what you are trying to do.
I wouldn’t get around this I’d use the feature. It’s easiest for end users/viewers to understand and utilise and being protected by Twitch when using bits with your extension.
See also 5.1
5.1 Extensions may provide differentiated experiences or functionality to broadcasters, in exchange for compensation from broadcasters. Examples: tiered access to features or purchasable plugins to add functionality.
So you can’t charge viewers outside the Extension for extension things.
So the only “solve” is channel points to do a thing. Not channel points to get extension currency to then do a thing.
The problem here is that I would also like to support channel rewards and given that there are only 50 slots this puts a limit on how many rewards are available via channel points.
The extension points was my idea to combine both the bits and channel points into simple points which could be used to redeem the rewards.
And yeah currently that’s how the system works. The rewards can be directly assigned to specific channel point rewards but like I mentioned the limit of 50 is a bit of a pain, and in terms of bits you have to set a unique amount of bits as the cost to trigger some reward like 1337 bits spawning something but then there can be no other reward which uses 1337 or you’ll trigger both of them.
Man that’s really a bummer, in my country I would need to set up an entire business to use the “Bits in Extensions” feature
In that case is my current solution of handling bits ok ? My worry here is that the policy terms can be really broad here. I’m not technically offering any transaction for a currency but if I made the extension just print the rewards and their prices in bits but then the viewer would need to send the bits via chat would that also count as a transaction and therefore be prohibited ?
Yeah that definitely makes sense. No matter if the extension will be just displaying information it can always be connected to me creating an incentive to spend bits to get X thing to trigger in the game.
I’m guessing that even without the extension just the sheer fact of things happening in the game because someone spent bits would most likely also not be ok in Twitch’s eyes.
Not for 1000 extension monies that are then used on don’t know how many extension actions.
So like sound alerts does: 1 points usage is 1 sound trigger.
Or cult of the lamb where: 100 points usage across the whole channel from multiple users fills a in game bar
Ok then in that case that’s quite pointless as streamers want certain actions to be more expensive than others, for example spawning a small consumable vs spawning some super strong enemy. In that case the desired way of handling it would be assigning a single reward to a single action with a custom reward cost on Twitch and in the desktop app simply assigning which reward triggers what.
In that case the extension would not be necessary at all.
Then you are balancing the number of channel points rewards to “eat up” of the 50 limit
Since choosing to avoid bits in extensions.
Potentially so far yeah an extension might not be needed.
But you are still bound by the rules of both channel points and bits acceptable use policies. Taking out the extension part might make things easier here. Since it’s direct to the game. But it’s bending bits usage for sure.
Yeah right now I’m considering to completely cut bits support for now but perhaps I’ll try talking to Twitch directly and see what they will say as this is most likely not a common usage of bits. I personally don’t see a problem since people are spending their bits on whatever they want to and Twitch gets a cut but who knows, they might see it as some form of gambling or something else.
If they will say that even sending bits via chat and then capturing that in the desktop app and triggering a reward with the same cost is not ok then I will simply cut the support for bits until maybe some day I’ll decide to opt into “Bits in Extensions”.
TL;DR; for now I will remove bits support and only allow the channel rewards to be assigned to the rewards in the desktop app and I’ll be capturing the events via PubSub.
Yeah that’s the thing, that’s why my other solution was to simply grab the streamer’s settings from the server and display the rewards in the extension and their prices in bits without any way to actually interact with the extension. You would still need to send the bits via chat and it would directly trigger a reward in the game with no extra currencies involved.
Otherwise streamers would need to provide their own lists with rewards so I thought that an extension would be a lot more convenient.
Yeah that was exactly my assumption as well as soon as you mentioned those policies.
Well thanks a lot for all of the help and the explanations. I will still hit up Twitch directly and ask about the bits via chat solution to make sure that it’s allowed and if it’s not I will just remove it.
Thanks again and have a nice day. And Happy New Year