diff options
| -rw-r--r-- | Dockerfile | 19 | ||||
| -rw-r--r-- | compose.yaml | 6 | ||||
| -rw-r--r-- | index.ts | 15 |
3 files changed, 30 insertions, 10 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..171e8d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM oven/bun:1-alpine AS base + +WORKDIR /app + +FROM base AS build + +COPY package.json bun.lock ./ + +RUN bun install --frozen-lockfile --production + +COPY *.ts tsconfig.json ./ + +RUN bun build --production --target=bun --sourcemap=inline --outfile=index.js index.ts + +FROM base AS run + +COPY --from=build /app/index.js ./ + +CMD ["bun", "run", "index.js"] diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..ba68186 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,6 @@ +services: + bot: + build: . + env_file: .env + restart: always + init: true @@ -107,15 +107,10 @@ client.on(Events.ThreadCreate, async (thread) => { } }); -try { - await rest.put(Routes.applicationCommands(clientId), { - body: slashCommands.map(command => command.slashCommand.toJSON()), - }); +await rest.put(Routes.applicationCommands(clientId), { + body: slashCommands.map(command => command.slashCommand.toJSON()), +}); - await client.login(token); +await client.login(token); - client.user?.setActivity(activity); -} catch (error) { - console.error("Discord bot failed to start", error); - process.exit(1); -} +client.user?.setActivity(activity); |
