This is an leaderboard forHakki's Discord Server Levelling System: https://autocode.com/snippet/Hakiki/cachsnpt_kvn6MwajD45GvjegZY2Ne7ZUs4XQB76rynv5/. If you use !leaderboard it will only show the user's name, Level and Points. If you have any issues, DM me on Discord at UnknownUseristhebest#7474.
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
if (context.params.event.content.startsWith(`!leaderboard`)) {
let database = await lib.googlesheets.query['@0.3.0'].select({
range: `A:E`,
bounds: `FIRST_EMPTY_ROW`,
});
database.rows.sort((a, b) => {
return parseInt(b.fields.Points) - parseInt(a.fields.Points);
});
let leaderBoardFields = [];
database.rows.slice(0, 10).forEach((row) => {
let userName = row.fields.Username;
let userValue = `Level: ${row.fields.Level} Points: ${row.fields.Points}`;
leaderBoardFields.push({name: userName, value: userValue});
});
await lib.discord.channels['@0.1.1'].messages.create({
channel_id: context.params.event.channel_id,
content: '',
embed: {
title: '** Leader Board **',
type: 'rich',
color: 0x0000aa,
description: '',
fields: leaderBoardFields,
},
});
}