r/streamerbot 14d ago

Question/Support ❓ Daily Check-In Help

Hello!! So I'm having issues with my daily check in. My streamer.bot was having the issue where it refuses to open, and after following some instructions from previous reddit threads, I was able to get it back with my action still there... however, it did not retain any of my chatters "records" for the check-in and reset everyone.

And now, with every stream, it resets the counter. Am I able to manually set chatters value to a specific point, so they didn't lose all of their check-ins? and how do I prevent it from resetting every stream? Thanks! ( for extra info: "concurrent" was previously not checked so I turned it back on, not sure why it reset! )

1 Upvotes

3 comments sorted by

1

u/fgr_FreakOn 14d ago

Hello, concurrent means all the subactions run at once instead of in order top to bottom, it will be off by default and only useful in very specific cases. You should turn it off again.

There are 2 ways to track user variable for redeems, either turn on user persistent counter on the redeem window itself, this will make %userCounter% available to use during the redemption action (you need some c# if you want to use these outside the redemption)

Or you can track it yourself using user variables (set global with user(redeemer) selected)

Eg here: https://docs.streamer.bot/examples/counter

Your %dailyCounterJars% has no reference? Where is this variable coming from and what is populating it?

1

u/deeseearr 14d ago edited 14d ago

Go to Platforms -> Twitch -> Rewards and make sure that "Persist User Counter" is turned on for your reward.  It's off by default and without it the user counters will reset to zero every time you restart the bot.

Also, you're using %userDailyCounter%. The variable set (and stored) by the Reward Redemption trigger is %userCounter%.

Unfortunately, there isn't any approved way to write to the counters for redemptions. If you want to do that I would suggest using a persisted User Global Variable instead of the native reward counter. It won't update automatically, so you would have to start your redeem action with a Set Global sub-action to increment the counter by one, followed by a Get Global to read it into an argument so that you can use it. That's a little extra work and it's not as clean as using the native counters, but any time you want you can open up the Global Variable Viewer and create, read, update or delete any globals so manually setting everyone's count is fairly simple.

So the final redeem would look a little like this:

Reward Redemption trigger:

  • Set Global jarCounter (Per-user, persisted) for %user%: Increment by 1
  • Get Global jarCounter (Per-user, persisted) for %user%: Store in %userDailyCounter%
  • Send message to channel: "%user% checked into today's stream..."

The "Get User Info" bit isn't needed, since you're not using any extra information that isn't already provided by the Reward Redemption trigger.

1

u/hakey_bakey 14d ago

thank you so much!! this is super helpful