aboutsummaryrefslogtreecommitdiff
path: root/src/events
diff options
context:
space:
mode:
authorFederico Rapetti <[email protected]>2023-03-04 22:39:33 +0100
committerGitHub <[email protected]>2023-03-04 15:39:33 -0600
commit02ee8aefc86b3a9902827874260d59115e73af13 (patch)
tree8f45eb55926d49183a059748c59e756dc3fbc25f /src/events
parent6926e39c5679e75c9ca6ef1a123abdce3d7ff992 (diff)
downloadmuse-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.ts8
-rw-r--r--src/events/voice-state-update.ts8
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)) {