diff options
| author | Federico Rapetti <[email protected]> | 2023-03-04 22:39:33 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-03-04 15:39:33 -0600 |
| commit | 02ee8aefc86b3a9902827874260d59115e73af13 (patch) | |
| tree | 8f45eb55926d49183a059748c59e756dc3fbc25f /src/events | |
| parent | 6926e39c5679e75c9ca6ef1a123abdce3d7ff992 (diff) | |
| download | muse-02ee8aefc86b3a9902827874260d59115e73af13.tar.xz muse-02ee8aefc86b3a9902827874260d59115e73af13.zip | |
Create guild settings if not found (#911)
Co-authored-by: Max Isom <[email protected]>
Diffstat (limited to 'src/events')
| -rw-r--r-- | src/events/guild-create.ts | 8 | ||||
| -rw-r--r-- | src/events/voice-state-update.ts | 8 |
2 files changed, 6 insertions, 10 deletions
diff --git a/src/events/guild-create.ts b/src/events/guild-create.ts index af195ce..d566c13 100644 --- a/src/events/guild-create.ts +++ b/src/events/guild-create.ts @@ -8,20 +8,20 @@ import {REST} from '@discordjs/rest'; import {Setting} from '@prisma/client'; import registerCommandsOnGuild from '../utils/register-commands-on-guild.js'; -export async function createGuildSettings(guild: Guild): Promise<Setting> { +export async function createGuildSettings(guildId: string): Promise<Setting> { return prisma.setting.upsert({ where: { - guildId: guild.id, + guildId, }, create: { - guildId: guild.id, + guildId, }, update: {}, }); } export default async (guild: Guild): Promise<void> => { - await createGuildSettings(guild); + await createGuildSettings(guild.id); const config = container.get<Config>(TYPES.Config); diff --git a/src/events/voice-state-update.ts b/src/events/voice-state-update.ts index 60a40b1..e941a70 100644 --- a/src/events/voice-state-update.ts +++ b/src/events/voice-state-update.ts @@ -3,7 +3,7 @@ import container from '../inversify.config.js'; import {TYPES} from '../types.js'; import PlayerManager from '../managers/player.js'; import {getSizeWithoutBots} from '../utils/channels.js'; -import {prisma} from '../utils/db.js'; +import {getGuildSettings} from '../utils/get-guild-settings'; export default async (oldState: VoiceState, _: VoiceState): Promise<void> => { const playerManager = container.get<PlayerManager>(TYPES.Managers.Player); @@ -12,11 +12,7 @@ export default async (oldState: VoiceState, _: VoiceState): Promise<void> => { if (player.voiceConnection) { const voiceChannel: VoiceChannel = oldState.guild.channels.cache.get(player.voiceConnection.joinConfig.channelId!) as VoiceChannel; - const settings = await prisma.setting.findUnique({where: {guildId: player.guildId}}); - - if (!settings) { - throw new Error('Could not find settings for guild'); - } + const settings = await getGuildSettings(player.guildId); const {leaveIfNoListeners} = settings; if (!voiceChannel || (getSizeWithoutBots(voiceChannel) === 0 && leaveIfNoListeners)) { |
