EXP system for automatic user rank management


Right now, PhantomBot only allows users to rank up based on time. This isn’t a very accurate indicator to determine if a user qualifies to rank up as a Regular as it’s not hard to rack up hours by just being AFK in chat and leaving the stream open.

The points system allows a user to earn points after performing certain actions, but the points can’t be used as a means to achieve ranks nor track activity from a user.

It would be nice to have both of these mechanics combined together - having users earn EXP after performing certain actions and ranking up after reaching a certain EXP amount. Being able to establish custom ranks based on EXP can help give a sense of progression (ex. Stranger -> Acquaintance -> Fan -> Regular), and being able to deduct EXP based on auto-bot moderation actions can deter unruly actions from those that wanna get up to Regular rank.

EDIT: I guess to clarify, I was wanting to have a points system that promotes people from the Viewer group to the Regular group based on points rather than time. Having custom ranks inbetween those two only serve as enticement for user progression. In this case, points would only serve as a tracking mechanism and not for spending.


What would these actions be?

  • Amount of messages per hour?

  • Following or using a certain amount commands?


Pretty much everything the point system already covers, as well as unique visits (once per day kind of thing), time spent watching the stream, and chat messages.

I’m guessing exp from each message will be too intensive to cover, so maybe something like “speak at least once per 30 mins for 10 EXP” can work.


I mean can’t use the point system for that? I know the rank system doesnt use points, but I remember there was a custom script that used points.


I’ve tried seeing if there was a way to use points to automatically move someone from the Viewer list to the Regular list before, but no dice. This thread explains it: Change promotion trigger from amount of hours to number of points

As for that custom script, I’m at a loss because a rudimentary search in the Custom Scripts section came up empty.


It must of been on the old forum then. At the moment we don’t plan to change this. At most you can have someone create a module that will be able to change rank based on points.


I’ve been looking for a way I can set global ranks to work on how many points my viewers have rather then by time, are there really no plans to make this a feature?

Nothing quite as complex as an exp system, just using points instead of time. Time ranking doesn’t allow opportunity for viewers to rank down when loosing points in bets and things like that.

If there is someone willing to make a module that would be awesome.