LunaTTvBot / LunaBot

0 stars 1 forks source link

Activityscore #43

Open iPaat opened 8 years ago

iPaat commented 8 years ago

A system which calculates (in some way) a score for each user wether he's active or not. Broadcasters should make commands which only can executed by active users.

When a user is active and when not could be discussed here.

CapCalamity commented 8 years ago

I think AS should include the following points:

Based on this i would suggest creating a self-contained module that hooks into the chat-messages and records all positive and negative actions a user can do, calculate and then update the score periodically per user. We could then offer the calculated score per user directly from memory to all other parts of the program (UserScoreManager.GetScore("someUserName")).

Altough we would need to save some statistics per user, I would refrain from saving too much per user, instead only focus on the near past (7 days or something like that).

Additionally we could award users with small things like:

On the same note, we could tag users with negative awards. They would act much the same way as regular awards, but result in a negative score.

In the end, i would propose calculating the score based on the points mentioned above.
Each positive / negative action resulting in a integer number - the score.
Examples:

This would be a normal user, someone who regulary views streams and occasionally issues commands.

Action Points
Regular viewer + 10p
Command User + 5p
-------------------- + 15p

This would be a regular viewer who simply spams the chat with emojis.

Action Points
Regular viewer + 10p
Command User + 5p
Active Chatter + 5p
Abuse of Emojis (spam) - 10p
------------------------------ + 10p

This way, we can set a threshold under which we deny some commands or features, or exclude certain behaviours that we do not endorse (spam, slurs, racism, etc.)

Of course the points would need to be balanced a lot more, but this is enough to demonstrate my idea.

iPaat commented 8 years ago

I like the idea!

negative awards

the most. But we also need to remove negative awards if someone changes his behavior. I would be happy to introduce this feature with version v0.2.