breadworms / gofish

1 stars 1 forks source link

Add channel-wide leaderboards #2

Closed breadworms closed 1 year ago

breadworms commented 1 year ago

This is similar to #1, add a channel-wide record. Since it's easily tampered with, users have to be trusted to be running the original command and only it. Ways of preventing tampering include obfuscation, such as a "secret" key that's only included in the minified code (pointless), and only storing the number value of the heaviest fish. By only storing the number, credit is removed, removing incentive to cheat, but adding a feature that if you catch the channel's heaviest fish, it tells you so with a rewarding message.

breadworms commented 1 year ago

Writing this down since I won't add this until later:

There is a set date, saturdays in a certain time frame (around 10 to 20 UTC), where you can $$ gofish checkin. channelCustomData will store a set of weights (Set<number>) which are wiped if it's the first check-in of the day. This will take your heaviest fish and put it in the set, sorting it, and telling you where your fish places (with trophy/medals flavor text for 1st/2nd/3rd). If you catch a heavier fish before the time limit, you will be able to check it in too. If someone else has the exact same weight as you, it will tell you that place.

This process is duplicated for lifetime # of fish and lifetime weight.

In the future, if interest is there, these weeklies may become actual weeklies, i.e. you are only able to check-in fish you caught that week.

breadworms commented 1 year ago

Closed with 9059c5b44c9fb93379f771816756ee30bbb70b37