feat: remove deleted bots from site

This commit is contained in:
skinmaker1345 2025-01-18 22:39:24 +09:00
parent 88e37e82ef
commit 8db81434ad
2 changed files with 30 additions and 26 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "koreanbots", "name": "koreanbots",
"version": "2.8.6", "version": "2.8.7",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",

View File

@ -76,7 +76,7 @@ async function getBot(id: string, topLevel = true): Promise<Bot> {
if (res) { if (res) {
const discordBot = await get.discord.user.load(res.id) const discordBot = await get.discord.user.load(res.id)
if (!discordBot) return null if (!discordBot || Number(discordBot.discriminator) === 0) return null
const botMember = (await getMainGuild() const botMember = (await getMainGuild()
?.members?.fetch(res.id) ?.members?.fetch(res.id)
.catch((e) => e)) as GuildMember .catch((e) => e)) as GuildMember
@ -121,28 +121,28 @@ async function getBot(id: string, topLevel = true): Promise<Bot> {
} }
async function getServer(id: string, topLevel = true): Promise<Server> { async function getServer(id: string, topLevel = true): Promise<Server> {
const [res] = await knex('servers') const [res] = (await knex('servers')
.select([ .select([
'servers.id', 'servers.id',
'servers.name', 'servers.name',
'servers.flags', 'servers.flags',
'servers.intro', 'servers.intro',
'servers.desc', 'servers.desc',
'servers.votes', 'servers.votes',
knex.raw('JSON_ARRAYAGG(owners_mapping.user_id) as owners'), knex.raw('JSON_ARRAYAGG(owners_mapping.user_id) as owners'),
'servers.category', 'servers.category',
'servers.invite', 'servers.invite',
'servers.state', 'servers.state',
'servers.vanity', 'servers.vanity',
'servers.bg', 'servers.bg',
'servers.banner', 'servers.banner',
'servers.flags', 'servers.flags',
]) ])
.leftJoin('owners_mapping', 'servers.id', 'owners_mapping.target_id') .leftJoin('owners_mapping', 'servers.id', 'owners_mapping.target_id')
.where({ 'servers.id': id }) .where({ 'servers.id': id })
.orWhereRaw(`(servers.flags & ${ServerFlags.trusted}) and servers.vanity=?`, [id]) .orWhereRaw(`(servers.flags & ${ServerFlags.trusted}) and servers.vanity=?`, [id])
.orWhereRaw(`(servers.flags & ${ServerFlags.partnered}) and servers.vanity=?`, [id]) .orWhereRaw(`(servers.flags & ${ServerFlags.partnered}) and servers.vanity=?`, [id])
.groupBy('servers.id') as any[] .groupBy('servers.id')) as any[]
if (res) { if (res) {
const data = await getServerData(res.id) const data = await getServerData(res.id)
@ -316,7 +316,9 @@ async function getBotList(type: ListType, page = 1, query?: string): Promise<Lis
return { return {
type, type,
data: (await Promise.all(res.map(async (el) => await getBot(el.id, false)))).map((r) => ({ ...r })), data: (await Promise.all(res.map(async (el) => await getBot(el.id, false)))).map((r) => ({
...r,
})),
currentPage: page, currentPage: page,
totalPage: Math.ceil(Number(count) / (type === 'SEARCH' ? 8 : 16)), totalPage: Math.ceil(Number(count) / (type === 'SEARCH' ? 8 : 16)),
} }
@ -421,7 +423,9 @@ async function getServerList(type: ListType, page = 1, query?: string): Promise<
} }
return { return {
type, type,
data: (await Promise.all(res.map(async (el) => await getServer(el.id, false)))).map((r) => ({ ...r })), data: (await Promise.all(res.map(async (el) => await getServer(el.id, false)))).map((r) => ({
...r,
})),
currentPage: page, currentPage: page,
totalPage: Math.ceil(Number(count) / (type === 'SEARCH' ? 8 : 16)), totalPage: Math.ceil(Number(count) / (type === 'SEARCH' ? 8 : 16)),
} }