Scoring
7coil opened this issue · 6 comments
How do you want your bots sorted?
Currently, bots are scored based on this formula
random + 0.5 if there's a cover image + 0.5 if there's a GitHub repo
future implementations can (but doesn't have to) include ratings or the guild count.
const score = bot.reviews.stars5 + (bot.reviews.stars4 * 0.8) + (bot.reviews.stars3 * 0.6) + (bot.reviews.stars2 * 0.4) + (bot.reviews.stars1 * 0.2) + (bot.coverImage ? 2 : 0);
If that makes sense. ¯\_(ツ)_/¯
@PassTheMayo an algorithm like that would effectively mean that, albeit less, bots get a higher score for a 1-star rating, which shouldn't be the case. your threshold is 0 stars when it should be 2.5 - anything above 2.5 should cause an increase in score, anything below it should cause a decrease
Here's the new temporary scoring system just deployed on ls.terminal.ink Version 10 (not React.js)
r.table('bots')
.merge(bot => r.branch(bot('contents').contains(contents =>
contents('locale').eq(res.getLocale())
), {
random: bot('random').add(10)
}, {}))
.merge(bot => r.branch(bot.hasFields({ // A cover image adds 0.5 to the score
cachedImages: {
cover: true
}
}), {
random: bot('random').add(0.5)
}, {}))
.merge(bot => r.branch(bot.hasFields({ // A GitHub bot adds 0.1 to the score
github: {
repo: true,
owner: true
}
}), {
random: bot('random').add(0.1)
}, {}))
.merge(bot => ({
random: bot('random').add(bot('cachedImages')('preview').count().mul(0.05)) // Each example image adds 0.05 to the score
}))
Changes:
- GitHub repos now only add
0.1
points instead of0.5
- A cover image adds
0.5
points - Each preview image of the bot adds
0.05
points
Unchanged
- Viewing the page in the same language as a bot page adds
10
points
The rating scoring system will be put into ls.terminal.ink Version 13
This should hopefully increase the quality of bot pages.