3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-16 22:21:51 +00:00

Utility: fix !search swallowing numbers at the end; fix !search results sorting incorrectly

This commit is contained in:
Dragory 2019-02-17 23:15:24 +02:00
parent 6cde008f36
commit 166680e718

View file

@ -225,8 +225,7 @@ export class UtilityPlugin extends ZeppelinPlugin {
} }
if (args.query) { if (args.query) {
let [, query] = args.query.match(/^(.*?)(?:\s([0-9]+))?$/); const query = args.query.toLowerCase();
query = query.toLowerCase();
matchingMembers = matchingMembers.filter(member => { matchingMembers = matchingMembers.filter(member => {
const fullUsername = `${member.user.username}#${member.user.discriminator}`; const fullUsername = `${member.user.username}#${member.user.discriminator}`;
@ -255,19 +254,19 @@ export class UtilityPlugin extends ZeppelinPlugin {
header = `Found ${matchingMembers.length} ${resultText}`; header = `Found ${matchingMembers.length} ${resultText}`;
} }
const pageMembers = matchingMembers.slice(from, to);
const [, sortDir, sortBy] = args.sort ? args.sort.match(/^(-?)(.*)$/) : [null, "ASC", "name"]; const [, sortDir, sortBy] = args.sort ? args.sort.match(/^(-?)(.*)$/) : [null, "ASC", "name"];
const realSortDir = sortDir === "-" ? "DESC" : "ASC"; const realSortDir = sortDir === "-" ? "DESC" : "ASC";
if (sortBy === "id") { if (sortBy === "id") {
pageMembers.sort(sorter(m => BigInt(m.id), realSortDir)); matchingMembers.sort(sorter(m => BigInt(m.id), realSortDir));
} else { } else {
pageMembers.sort( matchingMembers.sort(
multiSorter([[m => m.username.toLowerCase(), realSortDir], [m => m.discriminator, realSortDir]]), multiSorter([[m => m.username.toLowerCase(), realSortDir], [m => m.discriminator, realSortDir]]),
); );
} }
const pageMembers = matchingMembers.slice(from, to);
const longestId = pageMembers.reduce((longest, member) => Math.max(longest, member.id.length), 0); const longestId = pageMembers.reduce((longest, member) => Math.max(longest, member.id.length), 0);
const lines = pageMembers.map(member => { const lines = pageMembers.map(member => {
const paddedId = member.id.padEnd(longestId, " "); const paddedId = member.id.padEnd(longestId, " ");