Closed Kunepro closed 6 years ago
Sounds pretty good to me. Yes it'll need a DB, I think firebase would be the easy way to go.
I think there will be a few key points to this
Since it'll need a name for commands i'm floating the idea of ngbot points
but feel free to suggest any other names rather than points
I think it should also include a leaderboard function with a command similar to ngbot points
or ngbot points leaderboard
which should either post information like top points in the last month or total or other such leaderboard functions.
Also once we have some more data on it, I think we'd be able to offer some sort of rewards to certain users who've done really well
-To keep spam down, it should not post after each thanks
but rather every 10 (or some other interval)
As for timeframe; I'm planning this feature for after the bot is live, which I plan to have have it live by 2 weeks from today (so by April 23rd)
Personally I don't like super heroes, but they seem to be the Angular's theme. They are in the Angular.io website background and also in the examples.
Therefore for the name I suggest we find something pertinent to super heroes/villains. Mutagens? Crystals? Adamantium?
Using "points" is too cliché.
We could give the users the possibility to decide if they are heroes or villains ngbot side villain|hero
. I'm definitely a villain.
As reward people could receive a random power every level.
F.e.: You start at level 1 with 1 random power after 1 "thanks". You get the second random power at level 2 with 10… then at 50… 100… This would also limit the spam, as the messages will be displayed on level up, not for every "thanks".
We could have a leaderboard "Good vs. Evil".
For example ngbot leaderboard (heroes|villains)?
, if neither "heroes" or "villains" is specified the leaderboard will display the top 10 from all.
Hmmm. Not certain i'm sold on the versus thing, could cause arguments/would be a mess to get people to join a side/who side do you give the points to if they don't, etc etc
Definitely like the idea of something that's not the generic like points
.
I also like the idea of leveling up rather than just an aggregated total, slightly better way of managing spam.
cc @robwormald @lazarljubenovic @alxhub opinions?
Let's not turn a bot which should try to help people into a game system that advanced users will use to feed their egos. I swear I will kill a cute puppy each time someone says "can you include thanks in your message and tag me?" (and it will happen).
Also let's first get the basic bot functionality running before even thinking about something as complex as this.
That's a fair point. However, as for getting basic functions out first, this is my top priority right now, just getting it running with basic commands, which is it close.
As for your criticisms about the system, I totally get what you mean about "can you include thanks in your message and tag me?" (and it will happen)." and I would also dislike encouraging that behavior, but we could take steps towards not having that happen like being more silent, or not awarding points when people ask for it, put filters can time based caps on etc etc. But there will always be the aspect where people will try abuse it and we'll just have to weigh that against the positive sides
It's an interesting idea if the whole chatroom was created with idea of such bot, from the start. Dropping a bot that measures points in an existing, extremly active chatroom (most active? any data on this?) just doesn't fit for me at all. It will create too much clutter.
Stack Exchange's badges and reputation system or Google Guide's levels are meant to encourage user interaction. Similar to those a bot on Gitter has been programmed to create a similar reward system. I'm referring to the bot on https://gitter.im/FreeCodeCamp/linux. This bot searches for strings containing the words "thanks" or other common variation of it and a mention to a user to give "brownies" to that user.
For example:
Or:
This system eventually would require a database to work. It should also be considered wether to merge angular/angular and angular/angular-cli reputation or not. Merging them might end up with more repositories wanting in, so I would suggest not to.