gitextract_ftazrc3x/ ├── .dockerignore ├── .github/ │ ├── codeowners │ ├── renovate.json │ └── workflows/ │ ├── codeql-analysis.yml │ ├── format-check.yml │ └── lint.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── CONTRIBUTING.md ├── README.md ├── apps/ │ ├── bot/ │ │ ├── .env.example │ │ ├── .prettierignore │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── commands/ │ │ │ ├── Fun/ │ │ │ │ ├── 8ball.ts │ │ │ │ ├── advice.ts │ │ │ │ ├── anime.ts │ │ │ │ ├── cat.ts │ │ │ │ ├── comic.ts │ │ │ │ ├── dice.ts │ │ │ │ ├── flip.ts │ │ │ │ ├── iq.ts │ │ │ │ ├── joke.ts │ │ │ │ ├── letmegpt.ts │ │ │ │ ├── lmgtfy.ts │ │ │ │ ├── meme.ts │ │ │ │ ├── rate.ts │ │ │ │ ├── ship.ts │ │ │ │ └── why.ts │ │ │ ├── General/ │ │ │ │ ├── about.ts │ │ │ │ ├── contact.ts │ │ │ │ ├── dashboard.ts │ │ │ │ ├── donate.ts │ │ │ │ ├── help.ts │ │ │ │ ├── invite.ts │ │ │ │ ├── opensource.ts │ │ │ │ ├── permissions.ts │ │ │ │ ├── ping.ts │ │ │ │ ├── servers.ts │ │ │ │ ├── suggestion.ts │ │ │ │ └── uptime.ts │ │ │ ├── Giveaway/ │ │ │ │ └── giveaway.ts │ │ │ ├── Image/ │ │ │ │ ├── achievement.ts │ │ │ │ ├── ai.ts │ │ │ │ ├── bangladesh.ts │ │ │ │ ├── change-my-mind.ts │ │ │ │ ├── dog-say.ts │ │ │ │ ├── fbi.ts │ │ │ │ ├── flag.ts │ │ │ │ ├── galaxy-note.ts │ │ │ │ ├── image.ts │ │ │ │ ├── iq-graph.ts │ │ │ │ ├── jail.ts │ │ │ │ ├── note.ts │ │ │ │ ├── ph-comment.ts │ │ │ │ ├── sonic-says.ts │ │ │ │ ├── trash.ts │ │ │ │ ├── trigger.ts │ │ │ │ ├── type-c.ts │ │ │ │ └── yt-comment.ts │ │ │ ├── Levels/ │ │ │ │ ├── leaderboard.ts │ │ │ │ ├── rank.ts │ │ │ │ ├── reset-xp.ts │ │ │ │ └── xp-settings.ts │ │ │ ├── Moderation/ │ │ │ │ ├── automod.ts │ │ │ │ ├── emoji.ts │ │ │ │ ├── leave.ts │ │ │ │ ├── logs.ts │ │ │ │ ├── member.ts │ │ │ │ ├── role.ts │ │ │ │ ├── slowmode.ts │ │ │ │ ├── statistics.ts │ │ │ │ ├── warn.ts │ │ │ │ └── welcome.ts │ │ │ ├── Reputation/ │ │ │ │ └── rep.ts │ │ │ └── Utility/ │ │ │ ├── ascii.ts │ │ │ ├── base64.ts │ │ │ ├── color.ts │ │ │ ├── minecraft.ts │ │ │ ├── qrcode.ts │ │ │ └── translate.ts │ │ ├── events/ │ │ │ ├── client/ │ │ │ │ ├── GuildCreate.ts │ │ │ │ ├── GuildDelete.ts │ │ │ │ └── clientReady.ts │ │ │ └── guild/ │ │ │ ├── channelCreate.ts │ │ │ ├── channelDelete.ts │ │ │ ├── channelPinsUpdate.ts │ │ │ ├── channelUpdate.ts │ │ │ ├── emojiCreate.ts │ │ │ ├── emojiDelete.ts │ │ │ ├── emojiUpdate.ts │ │ │ ├── guildBanAdd.ts │ │ │ ├── guildBanRemove.ts │ │ │ ├── guildMemberAdd.ts │ │ │ ├── guildMemberRemove.ts │ │ │ ├── guildUpdate.ts │ │ │ ├── interactionCreate.ts │ │ │ ├── inviteCreate.ts │ │ │ ├── inviteDelete.ts │ │ │ ├── messageBulkDelete.ts │ │ │ ├── messageCreate.ts │ │ │ ├── messageDelete.ts │ │ │ ├── messageUpdate.ts │ │ │ ├── roleCreate.ts │ │ │ ├── roleDelete.ts │ │ │ ├── roleUpdate.ts │ │ │ ├── stickerCreate.ts │ │ │ ├── stickerDelete.ts │ │ │ └── stickerUpdate.ts │ │ ├── index.ts │ │ ├── modals/ │ │ │ └── suggestion.ts │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── util/ │ │ ├── giveaway/ │ │ │ ├── core.ts │ │ │ ├── endGiveaway.ts │ │ │ ├── findGiveaways.ts │ │ │ ├── pauseGiveaway.ts │ │ │ ├── rerollGiveaway.ts │ │ │ ├── resumeGiveaway.ts │ │ │ └── startGiveaway.ts │ │ ├── images/ │ │ │ ├── createUserGuildCard.ts │ │ │ └── createXPCard.ts │ │ ├── loaders/ │ │ │ ├── loadCommands.ts │ │ │ ├── loadEmojis.ts │ │ │ ├── loadEvents.ts │ │ │ ├── loadFonts.ts │ │ │ └── loadModals.ts │ │ ├── moderation/ │ │ │ ├── automod/ │ │ │ │ ├── antiBadWords/ │ │ │ │ │ ├── disable.ts │ │ │ │ │ └── enable.ts │ │ │ │ ├── antiInvite/ │ │ │ │ │ ├── disable.ts │ │ │ │ │ └── enable.ts │ │ │ │ ├── antiLinks/ │ │ │ │ │ ├── disable.ts │ │ │ │ │ └── enable.ts │ │ │ │ ├── antiMention/ │ │ │ │ │ ├── disable.ts │ │ │ │ │ └── enable.ts │ │ │ │ ├── antiSpam/ │ │ │ │ │ ├── disable.ts │ │ │ │ │ └── enable.ts │ │ │ │ ├── index.ts │ │ │ │ └── settings/ │ │ │ │ └── index.ts │ │ │ ├── ban.ts │ │ │ ├── changeMemberNickname.ts │ │ │ ├── getMemberImages.ts │ │ │ ├── getMemberInfo.ts │ │ │ ├── kick.ts │ │ │ └── unban.ts │ │ └── types/ │ │ └── Command.ts │ └── dashboard/ │ ├── .env.example │ ├── .gitignore │ ├── .prettierignore │ ├── README.md │ ├── app/ │ │ ├── _components/ │ │ │ ├── AddReaction.tsx │ │ │ ├── BotReplacement.tsx │ │ │ ├── ExampleChart.tsx │ │ │ ├── LevelUp.tsx │ │ │ └── Notifications.tsx │ │ ├── api/ │ │ │ ├── auth/ │ │ │ │ └── [...nextauth]/ │ │ │ │ └── route.ts │ │ │ ├── cron/ │ │ │ │ └── cleanup/ │ │ │ │ └── route.ts │ │ │ ├── invite/ │ │ │ │ ├── [invite]/ │ │ │ │ │ └── route.ts │ │ │ │ └── route.ts │ │ │ ├── logs/ │ │ │ │ └── [serverId]/ │ │ │ │ └── route.ts │ │ │ ├── settings/ │ │ │ │ ├── automod/ │ │ │ │ │ ├── anti-invite/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ ├── anti-link/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ ├── anti-mention/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── anti-spam/ │ │ │ │ │ └── route.ts │ │ │ │ ├── categories/ │ │ │ │ │ └── route.ts │ │ │ │ ├── change-reputation/ │ │ │ │ │ └── route.ts │ │ │ │ ├── commands/ │ │ │ │ │ └── route.ts │ │ │ │ ├── delete-data/ │ │ │ │ │ └── route.ts │ │ │ │ ├── download/ │ │ │ │ │ └── [id]/ │ │ │ │ │ └── route.ts │ │ │ │ ├── embed-color/ │ │ │ │ │ └── route.ts │ │ │ │ ├── messages/ │ │ │ │ │ ├── leave/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── welcome/ │ │ │ │ │ └── route.ts │ │ │ │ ├── public-dashboard/ │ │ │ │ │ └── route.ts │ │ │ │ ├── public-vanity/ │ │ │ │ │ └── route.ts │ │ │ │ ├── reset-user-xp/ │ │ │ │ │ └── route.ts │ │ │ │ └── update-logs/ │ │ │ │ └── route.ts │ │ │ ├── user/ │ │ │ │ ├── avatar/ │ │ │ │ │ └── [id]/ │ │ │ │ │ └── route.ts │ │ │ │ ├── avatar-decoration/ │ │ │ │ │ └── [id]/ │ │ │ │ │ └── route.ts │ │ │ │ ├── banner/ │ │ │ │ │ └── [id]/ │ │ │ │ │ └── route.ts │ │ │ │ ├── delete/ │ │ │ │ │ └── route.ts │ │ │ │ └── download/ │ │ │ │ └── route.ts │ │ │ └── warns/ │ │ │ └── [serverId]/ │ │ │ └── [warnId]/ │ │ │ └── route.ts │ │ ├── auth/ │ │ │ ├── error/ │ │ │ │ └── page.tsx │ │ │ └── login/ │ │ │ └── page.tsx │ │ ├── commands/ │ │ │ └── page.tsx │ │ ├── dashboard/ │ │ │ ├── [server]/ │ │ │ │ ├── automod/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── AntiInvite.tsx │ │ │ │ │ │ ├── AntiLink.tsx │ │ │ │ │ │ ├── AntiMention.tsx │ │ │ │ │ │ ├── AntiSpam.tsx │ │ │ │ │ │ ├── DeleteMessage.tsx │ │ │ │ │ │ ├── Limit.tsx │ │ │ │ │ │ ├── LogChannel.tsx │ │ │ │ │ │ └── TimeoutMember.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── dashboard-logs/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── Logs.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── giveaways/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── Giveaways.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── leaderboard/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── Leaderboard.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── loading.tsx │ │ │ │ ├── logs/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── UpdateLogs.tsx │ │ │ │ │ │ └── handleLogText.ts │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── messages/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── ChangeCustomMessages.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── modules/ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── page.tsx │ │ │ │ ├── settings/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ChangeEmbedColor.tsx │ │ │ │ │ │ ├── DeleteServerData.tsx │ │ │ │ │ │ └── PublicDashboard.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── statistics/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── StatisticCharts.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── user/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── components/ │ │ │ │ │ ├── ChangeUserReputation.tsx │ │ │ │ │ └── ResetUserXP.tsx │ │ │ │ └── warns/ │ │ │ │ ├── components/ │ │ │ │ │ └── Warns.tsx │ │ │ │ ├── loading.tsx │ │ │ │ └── page.tsx │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ ├── error.tsx │ │ ├── layout.tsx │ │ ├── legal/ │ │ │ ├── layout.tsx │ │ │ ├── privacy-policy/ │ │ │ │ └── page.mdx │ │ │ └── terms-of-service/ │ │ │ └── page.mdx │ │ ├── not-found.tsx │ │ ├── opengraph-image.tsx │ │ ├── page.tsx │ │ ├── robots.ts │ │ ├── server/ │ │ │ └── [server]/ │ │ │ ├── layout.tsx │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ ├── sitemap.ts │ │ └── user/ │ │ ├── components/ │ │ │ └── DeleteUserData.tsx │ │ └── profile/ │ │ └── page.tsx │ ├── components/ │ │ ├── CategoryBar.tsx │ │ ├── DiscordEmojis.tsx │ │ ├── DiscordLogin.tsx │ │ ├── Footer.tsx │ │ ├── Hotjar.tsx │ │ ├── LoginButton.tsx │ │ ├── Session.tsx │ │ ├── TailwindIndicator.tsx │ │ ├── client/ │ │ │ ├── charts/ │ │ │ │ └── ServerStatsChart.tsx │ │ │ └── commands/ │ │ │ ├── DiscordCommands.tsx │ │ │ ├── UpdateCategories.tsx │ │ │ └── UpdateCommands.tsx │ │ ├── nav/ │ │ │ ├── GuildMenuDropdown.tsx │ │ │ ├── ProgressBar.tsx │ │ │ ├── SideMenuControl.tsx │ │ │ ├── SideNavigation.tsx │ │ │ ├── TopNavigation.tsx │ │ │ ├── UserMenuDropdown.tsx │ │ │ └── VisibilityContext.tsx │ │ └── ui/ │ │ ├── Accordion.tsx │ │ ├── Badge.tsx │ │ ├── Block.tsx │ │ ├── Buttons.tsx │ │ ├── ChannelsSelect.tsx │ │ ├── Chart.tsx │ │ ├── Command.tsx │ │ ├── Dialog.tsx │ │ ├── Disclosure.tsx │ │ ├── DropdownMenu.tsx │ │ ├── Embed.tsx │ │ ├── GraphCard.tsx │ │ ├── Headers.tsx │ │ ├── Icons.tsx │ │ ├── Image.tsx │ │ ├── Input.tsx │ │ ├── Loaders.tsx │ │ ├── Popover.tsx │ │ ├── RolesSelect.tsx │ │ ├── Select.tsx │ │ ├── Skeletons.tsx │ │ ├── SparkChart.tsx │ │ ├── Switch.tsx │ │ ├── Table.tsx │ │ ├── TimeSelect.tsx │ │ ├── Tooltip.tsx │ │ ├── ViewSelect.tsx │ │ └── effects/ │ │ ├── AnimatedBeam.tsx │ │ ├── AnimatedList.tsx │ │ ├── AnimatedShinyText.tsx │ │ ├── BorderBeam.tsx │ │ ├── FadeText.tsx │ │ ├── FlickeringGrid.tsx │ │ ├── Globe.tsx │ │ ├── Meteors.tsx │ │ ├── NumberTicker.tsx │ │ ├── Particles.tsx │ │ ├── Ripple.tsx │ │ └── WordPullUp.tsx │ ├── env.ts │ ├── eslint.config.ts │ ├── jsconfig.json │ ├── lib/ │ │ ├── authOptions.ts │ │ ├── session.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── mdx-components.tsx │ ├── next.config.ts │ ├── package.json │ ├── postcss.config.mjs │ ├── styles/ │ │ └── globals.css │ ├── tsconfig.json │ └── vercel.json ├── docker-compose.yaml ├── eslint.config.ts ├── license.md ├── package.json ├── packages/ │ ├── config/ │ │ ├── .prettierignore │ │ ├── configs/ │ │ │ ├── bot.ts │ │ │ ├── dashboard.ts │ │ │ ├── debugger.ts │ │ │ ├── global.ts │ │ │ └── permissions.ts │ │ ├── index.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── database/ │ │ ├── .env.example │ │ ├── .prettierignore │ │ ├── README.md │ │ ├── package.json │ │ ├── prisma/ │ │ │ ├── migrations/ │ │ │ │ ├── 20230516174916_/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516200625_add_auth/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516201206_add_discord_schema/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516202208_save_only_required/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516202300_bigint_for_flags/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516202517_make_email_unique/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516202902_fix_unique/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516210849_add_maps/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516211309_add_verification_token/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516212035_fix_unique_values/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516212254_switch_datatype_nitro/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230516212512_add_email_verified/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521135936_add_suggestions/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521142039_add_guild_id/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521143031_add_guild_model/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521184416_add_guild_logs/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521185323_fix_guild_logs/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230521221630_add_avatar/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230522210912_link_user_to_logs/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230528212858_add_embed_color/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230529160641_add_ratelimit_for_server_change/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230604182342_add_guild_xp/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230609200921_migrate_to_discord_handles/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230610181051_update_account/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230610195213_update_rows_names/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230716165214_add_guild_joins/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230807093042_add_reputation/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230807100800_fix_user_fields/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230809192933_add_giveaways/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230809193154_change_giveaways_name/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230810131104_add_channel_id/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230810131904_remove_channel_id/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230813164922_add_messages_count/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230829161606_add_xp_settings/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20230901110432_add_vanity_urls/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008115944_add_guild_controlled_commands/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008120512_fix_commands/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008120900_add_default_options/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008143223_update_default_member_permissions/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008163839_fix_fields/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008165157_remove_perms_and_created_at/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008170130_update_command_categories/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231008171003_fix_schema/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231015105007_remove_email_adresses/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231017181219_fix_user_emails/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231018085005_add_automod_rules/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231030220258_add_warning_system/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231030222116_fix_ids/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231030230714_add_created_by_id_to_warnings/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231031083245_add_warn_id/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231117165927_add_last_login_field/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231119203658_remove_enabled_disable_state_from_automod/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231216135714_add_welcome_and_leave_messages/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231216145835_remove_unused_fields/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231218000910_add_titles_and_descriptions_for_custom_messages/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20231228221226_add_embed_color_and_enabled_state/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241209125259_add_better_logs/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241209132307_add_vanity_update_event/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241209140053_add_giveaway_events/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241220180643_add_guild_settings/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241220180800_change_name_of_guild_logs_settings/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241220181109_add_type_as_unique/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241221205356_remove_not_used_log_types/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241228112527_allow_channel_id_to_be_null/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241228131412_add_log_update_event/ │ │ │ │ │ └── migration.sql │ │ │ │ ├── 20241231150633_remove_message_polls/ │ │ │ │ │ └── migration.sql │ │ │ │ └── migration_lock.toml │ │ │ └── schema.prisma │ │ ├── prisma.config.ts │ │ ├── src/ │ │ │ ├── client.ts │ │ │ ├── logger.ts │ │ │ ├── redis/ │ │ │ │ ├── cache.ts │ │ │ │ └── client.ts │ │ │ ├── seed.ts │ │ │ └── types.ts │ │ └── tsconfig.json │ ├── typescript-config/ │ │ ├── base.json │ │ ├── index.ts │ │ └── package.json │ └── utils/ │ ├── .prettierignore │ ├── content/ │ │ ├── advices.json │ │ └── why.json │ ├── database/ │ │ ├── index.ts │ │ ├── logs/ │ │ │ ├── createLog.ts │ │ │ ├── events.ts │ │ │ ├── fetchLogs.ts │ │ │ └── getGuildLogSettings.ts │ │ ├── moderation/ │ │ │ ├── automod/ │ │ │ │ ├── createDatabaseAutoModRule.ts │ │ │ │ ├── deleteDatabaseAutoModRule.ts │ │ │ │ ├── fetchDatabaseAutoModRules.ts │ │ │ │ ├── index.ts │ │ │ │ ├── syncDatabaseAutoModRule.ts │ │ │ │ └── updateDatabaseAutoModRule.ts │ │ │ └── warn/ │ │ │ ├── clearWarns.ts │ │ │ ├── listWarns.ts │ │ │ ├── removeWarn.ts │ │ │ └── warnUser.ts │ │ ├── reputation/ │ │ │ ├── checkReputation.ts │ │ │ ├── giveReputation.ts │ │ │ ├── setReputation.ts │ │ │ └── takeReputation.ts │ │ ├── settings/ │ │ │ └── XPSettings.ts │ │ ├── user/ │ │ │ └── createUser.ts │ │ └── xp/ │ │ ├── checkXP.ts │ │ └── resetXP.ts │ ├── embeds/ │ │ ├── createErrorEmbed.ts │ │ └── index.ts │ ├── functions/ │ │ ├── automod/ │ │ │ ├── createDiscordAutoModRule.ts │ │ │ ├── deleteDiscordAutoModRule.ts │ │ │ ├── fetchDiscordAutoModRules.ts │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ ├── validateAutoModIgnores.ts │ │ │ └── validateAutoModRuleActions.ts │ │ ├── files/ │ │ │ ├── index.ts │ │ │ └── readDir.ts │ │ ├── guild/ │ │ │ ├── getGuild.ts │ │ │ ├── getGuildChannels.ts │ │ │ ├── getGuildFromMemberGuilds.ts │ │ │ ├── getGuildPreview.ts │ │ │ ├── getGuildRoles.ts │ │ │ ├── getMemberGuilds.ts │ │ │ ├── index.ts │ │ │ └── isBotInServer.ts │ │ ├── user/ │ │ │ ├── getDiscordUser.ts │ │ │ ├── getFlags.ts │ │ │ ├── getPermissionNames.ts │ │ │ ├── index.ts │ │ │ └── isApiUser.ts │ │ └── util/ │ │ ├── adjustColor.ts │ │ ├── capitalize.ts │ │ ├── fillMissingDates.ts │ │ ├── flipText.ts │ │ ├── formatDate.ts │ │ ├── formatDuration.ts │ │ ├── formatNumber.ts │ │ ├── generateDates.ts │ │ ├── index.ts │ │ ├── isNumeric.ts │ │ ├── logger.ts │ │ ├── percentageBar.ts │ │ ├── randomness.ts │ │ ├── shortenText.ts │ │ ├── splitCamelCase.ts │ │ └── sumArray.ts │ ├── images/ │ │ ├── index.ts │ │ ├── invertColor.ts │ │ └── linesHelper.ts │ ├── package.json │ └── tsconfig.json ├── pnpm-workspace.yaml ├── prettier.config.js ├── tsconfig.json └── turbo.json