diff --git a/adapters/discord/src/actions/shutdown.ts b/adapters/discord/src/actions/shutdown.ts index aa8f80b..693c5f0 100644 --- a/adapters/discord/src/actions/shutdown.ts +++ b/adapters/discord/src/actions/shutdown.ts @@ -3,5 +3,5 @@ import { logger } from "lib/common-logger"; export const handleShutdown = async () => { logger.info("bot is shutting down..."); - await logChannelService.sendLogMessage("ich geh schlafen..."); + await logChannelService.sendLogMessage("**S H U T T I N G D O W N**"); }; diff --git a/adapters/discord/src/config/config.schema.ts b/adapters/discord/src/config/config.schema.ts index 4cb0409..1440bbd 100644 --- a/adapters/discord/src/config/config.schema.ts +++ b/adapters/discord/src/config/config.schema.ts @@ -16,6 +16,7 @@ export const ConfigSchema = z.object({ }), guildId: z.string(), version: z.number(), + commandPrefix: z.string().default("!"), discord: z.object({ token: z.string(), applicationId: z.string(), diff --git a/adapters/discord/src/features/dynamic-voice-channel/dynamic-voice-channel.service.ts b/adapters/discord/src/features/dynamic-voice-channel/dynamic-voice-channel.service.ts index 9444da1..5ecd960 100644 --- a/adapters/discord/src/features/dynamic-voice-channel/dynamic-voice-channel.service.ts +++ b/adapters/discord/src/features/dynamic-voice-channel/dynamic-voice-channel.service.ts @@ -26,5 +26,10 @@ export const dynamicVoiceChannelService = new DynamicVoiceChannelsService( key: VoiceChannels.enum["for-group"], size: 99, }, + { + channelId: config.channelMapping.voice.custom, + key: VoiceChannels.enum.custom, + size: 99, + }, ], ); diff --git a/adapters/fluxer/src/fluxer.controller.ts b/adapters/fluxer/src/fluxer.controller.ts deleted file mode 100644 index e69de29..0000000 diff --git a/adapters/fluxer/src/listeners/guild-members/guild-members.listener.ts b/adapters/fluxer/src/listeners/guild-members/guild-members.listener.ts index 390d79b..cce858a 100644 --- a/adapters/fluxer/src/listeners/guild-members/guild-members.listener.ts +++ b/adapters/fluxer/src/listeners/guild-members/guild-members.listener.ts @@ -13,7 +13,9 @@ client.on(Events.GuildMemberAdd, async (member: GuildMember) => { } const channel = await client.channels.fetch( - config.channelMapping.text.welcome, + process.env.NODE_ENV === "production" + ? config.channelMapping.text.welcome + : config.channelMapping.text.testing, ); await logChannelService.sendLogMessage( diff --git a/adapters/fluxer/src/listeners/index.ts b/adapters/fluxer/src/listeners/index.ts index 8ddfa9d..b5bccdd 100644 --- a/adapters/fluxer/src/listeners/index.ts +++ b/adapters/fluxer/src/listeners/index.ts @@ -1,4 +1,5 @@ import "./ready.listener"; import "./stop.listener"; import "./messages/messages.listener"; +import "./reactions/reactions.listener"; import "./guild-members/guild-members.listener"; diff --git a/adapters/fluxer/src/listeners/messages/messages.listener.ts b/adapters/fluxer/src/listeners/messages/messages.listener.ts index 1fc9e1e..890bba4 100644 --- a/adapters/fluxer/src/listeners/messages/messages.listener.ts +++ b/adapters/fluxer/src/listeners/messages/messages.listener.ts @@ -7,14 +7,6 @@ import { logger } from "lib/common-logger"; import { handleCommand } from "./handle-command"; client.on(Events.MessageCreate, async (message: Message) => { - // if ( - // message.channel?.id !== config.channelMapping.text.log && - // message.channel?.id !== config.channelMapping.text.bot - // ) { - // return; - // // await messagesService.logMessage(message); - // } - if (message.content?.startsWith(config.commandPrefix) && message.channel) { await messagesService.logMessage(message); logger.info( diff --git a/core/package.json b/core/package.json index edbc5bd..5db50f7 100644 --- a/core/package.json +++ b/core/package.json @@ -42,6 +42,7 @@ "./entities/messages/messages.service": "./dist/entities/messages/messages.service.js", "./entities/roles/roles.schema": "./dist/entities/roles/roles.schema.js", "./entities/roles/roles.service": "./dist/entities/roles/roles.service.js", + "./features/accept-user/accept-user.service": "./dist/features/accept-user/accept-user.service.js", "./features/dynamic-voice-channels/dynamic-voice-channels.schema": "./dist/features/dynamic-voice-channels/dynamic-voice-channels.schema.js", "./features/dynamic-voice-channels/dynamic-voice-channels.service": "./dist/features/dynamic-voice-channels/dynamic-voice-channels.service.js", "./features/greeting/greeting.service": "./dist/features/greeting/greeting.service.js", diff --git a/core/src/features/accept-user/accept-user.service.ts b/core/src/features/accept-user/accept-user.service.ts new file mode 100644 index 0000000..d380352 --- /dev/null +++ b/core/src/features/accept-user/accept-user.service.ts @@ -0,0 +1,39 @@ +import type { MessagesServiceInterface } from "entities/messages/messages.service"; +import type { BaseUser } from "lib/common"; +import type { I18nService } from "lib/i18n/i18n.service"; +import { createLogger } from "lib/logger"; + +export class AcceptUserService { + messagesService: MessagesServiceInterface; + i18nService: I18nService; + lang: "en" | "de"; + ns = "acceptUser"; + + private logger = createLogger("AcceptUserService"); + + constructor( + messagesService: MessagesServiceInterface, + i18nService: I18nService, + lang: "en" | "de", + ) { + this.messagesService = messagesService; + this.i18nService = i18nService; + this.lang = lang; + } + + async sendDmAcceptUser(user: U) { + this.logger.info("test"); + + this.logger.info(`accepting ${user.id}...`); + + const acceptUserMessage: string = await this.i18nService.t( + "dmAcceptUser", + this.lang, + this.ns, + ); + + this.logger.info(`accepting ${user.id}...`); + + await this.messagesService.sendToUser(user, acceptUserMessage); + } +} diff --git a/core/src/features/dynamic-voice-channels/dynamic-voice-channels.schema.ts b/core/src/features/dynamic-voice-channels/dynamic-voice-channels.schema.ts index e9edf22..b2b757d 100644 --- a/core/src/features/dynamic-voice-channels/dynamic-voice-channels.schema.ts +++ b/core/src/features/dynamic-voice-channels/dynamic-voice-channels.schema.ts @@ -6,6 +6,7 @@ export const DynamicVoiceChannelKeyOptions = [ VoiceChannels.enum["for-three"], VoiceChannels.enum["for-four"], VoiceChannels.enum["for-group"], + VoiceChannels.enum.custom, ] as const; export const DynamicVoiceChannelKeys = z.enum(DynamicVoiceChannelKeyOptions); diff --git a/core/src/features/dynamic-voice-channels/dynamic-voice-channels.service.ts b/core/src/features/dynamic-voice-channels/dynamic-voice-channels.service.ts index ab3fc31..adc1bfb 100644 --- a/core/src/features/dynamic-voice-channels/dynamic-voice-channels.service.ts +++ b/core/src/features/dynamic-voice-channels/dynamic-voice-channels.service.ts @@ -30,15 +30,13 @@ export class DynamicVoiceChannelsService< ); } - async createDynamicVoiceChannel(id: string): Promise { + async createDynamicVoiceChannel(id: string): Promise { if (this.validChannelIds.has(id)) { // Channel is one of the dynamic voice channels, create a new one based on it const channel = await this.voiceChannelsService.getVoiceChannelById(id); - if (!channel) { - throw new Error(`Channel with id ${id} not found`); - } + if (!channel) return; const newChannel = await this.voiceChannelsService.cloneVoiceChannel( channel,