Terminal/discordapps.dev

Scoring

7coil opened this issue · 6 comments

7coil commented

How do you want your bots sorted?

7coil commented

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

7coil commented

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
}))
7coil commented

Changes:

  • GitHub repos now only add 0.1 points instead of 0.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

7coil commented

This should hopefully increase the quality of bot pages.