Compare commits

..

3 Commits

Author SHA1 Message Date
Pihkaal
9d2ab20975 fix(discord-bot): fix rewards embed
All checks were successful
Build and Push Docker Image / build (push) Successful in 46s
2026-01-06 02:13:47 +01:00
Pihkaal
1297050339 feat(discord-bot): allow non-gems rewards
All checks were successful
Build and Push Docker Image / build (push) Successful in 33s
2026-01-04 21:11:25 +01:00
Pihkaal
877402090f github -> gitea
All checks were successful
Build and Push Docker Image / build (push) Successful in 39s
2025-12-22 15:44:11 +01:00
5 changed files with 50 additions and 39 deletions

View File

@@ -0,0 +1,29 @@
name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to DockerHub
uses: docker/login-action@v3
with:
registry: git.pihkaal.xyz
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push Docker image
run: |
docker build -t git.pihkaal.xyz/pihkaal/lbf-bot:latest -f apps/discord-bot/Dockerfile .
docker push git.pihkaal.xyz/pihkaal/lbf-bot:latest

View File

@@ -1,28 +0,0 @@
name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
run: |
docker build -t pihkaal/lbf-bot-discord-bot:latest -f apps/discord-bot/Dockerfile .
docker push pihkaal/lbf-bot-discord-bot:latest

View File

@@ -23,6 +23,10 @@ const schema = z.object({
.string() .string()
.transform((x) => x.split(",").map((x) => x.trim())) .transform((x) => x.split(",").map((x) => x.trim()))
.optional(), .optional(),
QUEST_REWARDS_ARE_GEMS: z
.string()
.transform((val) => val.toLowerCase() === "true")
.pipe(z.boolean()),
QUEST_EXCLUDE: z QUEST_EXCLUDE: z
.string() .string()
.transform((x) => x.split(",").map((x) => x.trim())) .transform((x) => x.split(",").map((x) => x.trim()))

View File

@@ -24,19 +24,21 @@ export const makeResultEmbed = async (
.slice(0, Math.min(rewardedParticipants.length, env.QUEST_REWARDS.length)) .slice(0, Math.min(rewardedParticipants.length, env.QUEST_REWARDS.length))
.map( .map(
(x, i) => (x, i) =>
`- ${medals[i]} ${x.username} - ${env.QUEST_REWARDS![i]} gemmes`, `- ${medals[i]} ${x.username} - ${env.QUEST_REWARDS![i]} ${env.QUEST_REWARDS_ARE_GEMS ? "gemmes" : ""}`,
); );
const arr = rewardedParticipants.slice( if (env.QUEST_REWARDS_ARE_GEMS) {
0, const arr = rewardedParticipants.slice(
Math.min(rewardedParticipants.length, env.QUEST_REWARDS.length), 0,
); Math.min(rewardedParticipants.length, env.QUEST_REWARDS.length),
for (let i = 0; i < arr.length; i++) {
const balance = await getAccountBalance(arr[i].id);
await setAccountBalance(
arr[i].id,
balance + parseInt(env.QUEST_REWARDS![i]),
); );
for (let i = 0; i < arr.length; i++) {
const balance = await getAccountBalance(arr[i].id);
await setAccountBalance(
arr[i].id,
balance + parseInt(env.QUEST_REWARDS![i]),
);
}
} }
rewardsEmbed = { rewardsEmbed = {

View File

@@ -1,5 +1,6 @@
services: services:
postgres: postgres:
container_name: lbf-bot-postgres
image: postgres:17-alpine image: postgres:17-alpine
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -17,6 +18,7 @@ services:
retries: 5 retries: 5
redis: redis:
container_name: lbf-bot-redis
image: redis:7-alpine image: redis:7-alpine
restart: unless-stopped restart: unless-stopped
volumes: volumes:
@@ -25,7 +27,8 @@ services:
- lbf-network - lbf-network
discord-bot: discord-bot:
image: pihkaal/lbf-bot-discord-bot:latest container_name: lbf-bot
image: git.pihkaal.xyz/pihkaal/lbf-bot:latest
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
postgres: postgres:
@@ -50,6 +53,7 @@ services:
- WOV_FETCH_INTERVAL - WOV_FETCH_INTERVAL
- WOV_TRACKING_INTERVAL - WOV_TRACKING_INTERVAL
- QUEST_REWARDS - QUEST_REWARDS
- QUEST_REWARDS_ARE_GEMS
- QUEST_EXCLUDE - QUEST_EXCLUDE
networks: networks: