import { NextPage, NextPageContext } from 'next' import dynamic from 'next/dynamic' import { NextSeo } from 'next-seo' import { get } from '@utils/Query' import { parseCookie} from '@utils/Tools' import { RawGuild, ServerData, Theme, User } from '@types' const Advertisement = dynamic(() => import('@components/Advertisement')) const ResponsiveGrid = dynamic(() => import('@components/ResponsiveGrid')) const ServerCard = dynamic(() => import('@components/ServerCard')) const Login = dynamic(() => import('@components/Login')) const Container = dynamic(() => import('@components/Container')) const AddBot:NextPage = ({ logged, guilds }) => { if(!logged) return return

새로운 서버 추가하기

관리자이신 서버 목록입니다.

봇을 초대한 뒤 새로고침 해주세요. 또한, 반영까지 최대 1분이 소요될 수 있습니다.

{ guilds.sort((a ,b) => (+!!b.data || 0) - (+!!a.data || 0)).map(g => ( )) }
} export const getServerSideProps = async (ctx: NextPageContext) => { const parsed = parseCookie(ctx.req) const user = await get.Authorization(parsed?.token) const guilds = (await get.userGuilds.load(user || ''))?.filter(g=> (g.permissions & 8) || g.owner).map(async g => { const server = (await get.server.load(g.id)) const data = await get.serverData(g.id) return { ...g, ...(server || {}), ...((+new Date() - +new Date(data?.updatedAt)) < 2 * 60 * 1000 ? { data } : {}), members: data?.memberCount || null, exists: !!server } }) return { props: { logged: !!user || !!guilds, user: await get.user.load(user || ''), guilds: guilds ? (await Promise.all(guilds)).filter(g => !g?.exists) : null } } } interface AddBotProps { logged: boolean user: User csrfToken: string theme: Theme guilds: (RawGuild & { data: ServerData, exists?: boolean })[] } export default AddBot