Looking for an XP & Level System with Exponential Curve using Streamer.bot Currency core

Hello everyone,

I’ve been trying to find an XP / leveling system in Streamer.bot without success…

What I’m trying to achieve is a system similar to the leveling systems found in bots like StreamElements, Falcory or Wizebot, but implemented directly inside Streamer.bot using the Currency Core.

The idea would be something like this:

  • Use a currency (for example XP ) as the base value.
  • Gain XP from chat activity:
    XP per message (for example: +2 XP),
    XP per minute of watchtime (for example: +5 XP)
    and streak bonus (for example: +10 XP every 5 messages)
  • Convert the total XP into levels using an exponential curve.

Then display the result with commands such as !rank to shows the user’s level and total XP
ans !top for a leaderboard based on XP

Has anyone already built something like this and is willing to share ?

Thanks!