Commit graph

67 commits

Author SHA1 Message Date
sirpiglr
a283e81c5e Add a secure bot management panel and new Discord commands
Implement server-side proxy endpoints for bot management, add admin token authentication, and introduce new Discord slash commands for help, stats, leaderboards, and posting.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: f0eccab4-b258-4b1c-a2a5-e7b2b3c56c44
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/ryY0zvi
Replit-Helium-Checkpoint-Created: true
2025-12-04 02:44:05 +00:00
sirpiglr
8f88ae18fa Prevent duplicate posts from being sent to Discord channels
Implement a concurrency lock and processed ID tracking in the feed sync listener to prevent overlapping polls and duplicate post submissions to Discord.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: afcf467b-d8ab-4557-9e48-fc556f14b3bd
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/zMxtXds
Replit-Helium-Checkpoint-Created: true
2025-12-03 19:25:10 +00:00
sirpiglr
39c8a2ab86 Fix Discord posts not appearing due to invalid avatar URLs
Ensure user avatar URLs are valid HTTP/HTTPS links before sending to Discord, falling back to a default logo if not.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 53f72850-e9eb-451e-8e0e-affadfc7c37b
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/zMxtXds
Replit-Helium-Checkpoint-Created: true
2025-12-03 19:18:13 +00:00
sirpiglr
528ba244f8 Implement polling to fetch new posts for Discord synchronization
Replace Supabase Realtime subscription with a polling mechanism in `discord-bot/listeners/feedSync.js` to fetch new community posts and send them to Discord. This change removes the direct HTTP call from the server to the bot and introduces a `POLL_INTERVAL` of 5000ms, along with a `cleanup` function to clear the interval.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 381cfcae-1168-4daa-b95e-ba1416e8ce9c
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/duiWnI1
Replit-Helium-Checkpoint-Created: true
2025-12-03 03:56:41 +00:00
sirpiglr
760878a587 Remove duplicate bot startup and simplify message syncing logic
Removes the duplicate `client.once("ready", ...)` handler from `bot.js` to prevent duplicate startup messages and processes. Simplifies the message handling in `messageCreate.js` to exclusively sync messages from the configured `DISCORD_MAIN_CHAT_CHANNELS`, ignoring other channel types.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: cda164c8-9ba9-4933-8c84-17f4dcdb866a
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/duiWnI1
Replit-Helium-Checkpoint-Created: true
2025-12-03 03:39:44 +00:00
sirpiglr
d442a1cd5a Limit bot messages to specific channels to prevent unwanted syncing
Add conditional logic to only sync messages from configured channels like main chat, announcements, and the feed channel, preventing all messages from being processed.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 1cbe8f4b-356c-4837-ace1-6973d0cbee0c
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/duiWnI1
Replit-Helium-Checkpoint-Created: true
2025-12-03 03:37:28 +00:00
sirpiglr
be7ed554cd Implement bidirectional Discord and feed channel synchronization
Add an HTTP endpoint to the Discord bot to receive posts from the main server and call the Discord API to send these posts as rich embeds to the configured feed channel. Also, update the main server to call this new Discord bot endpoint when a new post is created.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 82d93ef8-d6c2-4d69-96c4-6fa5da4ec508
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/duiWnI1
Replit-Helium-Checkpoint-Created: true
2025-12-03 03:36:05 +00:00
sirpiglr
68d4a25357 Add Discord integration to display messages in the community feed
Integrates Discord messages into the community feed by adding a Discord source type, displaying channel names and author tags, and creating a Discord icon for the UI. The bot now handles messages from main chat channels and syncs them to the feed, creating guest profiles for unlinked Discord users.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 0a135de7-860c-4a4d-9cbe-7644c5fca3f0
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/ebxARkc
Replit-Helium-Checkpoint-Created: true
2025-12-03 03:05:25 +00:00
sirpiglr
becc8f0210 Add verification code storage for Discord usernames
Updates the `/verify` command in discord-bot/commands/verify.js to include the Discord username when storing verification codes in the `discord_verifications` table.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 8bd9c239-20ba-45f9-afec-76bd4f2adfd0
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/saoW2ee
Replit-Helium-Checkpoint-Created: true
2025-12-02 22:37:32 +00:00
sirpiglr
d0f932c949 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: c2a71ce8-1f14-4d81-8339-2f77a11bd705
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/saoW2ee
Replit-Helium-Checkpoint-Created: true
2025-12-02 22:07:18 +00:00
Builder.io
d93fbab157 completionId: cgen-9d549678276244328bf91000db330e30
cgen-9d549678276244328bf91000db330e30
2025-11-15 03:05:29 +00:00
Builder.io
aaac82137c Prettier format pending files 2025-11-15 02:11:47 +00:00
Builder.io
bc2e0fe10d Discord Bot - Message handler with announcements sync
cgen-43cc4ddef6574e6d853f8790e718549a
2025-11-14 22:26:45 +00:00
Builder.io
9e88ea1991 completionId: cgen-bc75587d5ae14a12866e402958c94e76
cgen-bc75587d5ae14a12866e402958c94e76
2025-11-14 22:26:24 +00:00
Builder.io
6af4546fe5 Discord Bot environment variables
cgen-a50b2e700fda4f8a9c31a1440af6d757
2025-11-14 22:26:14 +00:00
Builder.io
c952fe03ca Discord Bot - Announcements sync to feed
cgen-c294d477f916443cad0617064edff7b8
2025-11-14 22:26:06 +00:00
Builder.io
1a72f45796 Prettier format pending files 2025-11-13 08:58:30 +00:00
Builder.io
0e3bda5de6 completionId: cgen-12662d7cd3774b208c610e9b0091bae5
cgen-12662d7cd3774b208c610e9b0091bae5
2025-11-13 08:54:30 +00:00
Builder.io
748f41b222 Discord Feed Sync - Post to Discord webhook
cgen-d3c9a84bab384df6bbaaae65b9f5f7f3
2025-11-13 08:54:22 +00:00
Builder.io
5d4b4fa21c Update Discord bot with fresh token
cgen-2107ec74811a476e938e9a1123a60da5
2025-11-10 08:08:40 +00:00
Builder.io
3fa7cf3253 Update Discord bot token with new valid token
cgen-e15d477eeeba47b5bb3df70916b12fb1
2025-11-10 08:01:51 +00:00
Builder.io
79fac1dc48 Create Discord bot .env with token and client ID
cgen-3869ee4d09124253a5d18b86ea38ac10
2025-11-10 07:55:33 +00:00
Builder.io
9cf859caea Manual code updates made to file: code/discord-bot/.env.example 2025-11-10 07:48:37 +00:00
Builder.io
8d5e40f32c Manual code updates made to file: code/discord-bot/.env 2025-11-10 07:47:40 +00:00
Builder.io
fa0fc5172d Manual code updates made to file: code/discord-bot/.env 2025-11-10 07:42:52 +00:00
Builder.io
fc1b0b6252 Manual code updates made to file: code/discord-bot/.env.example 2025-11-10 07:42:33 +00:00
Builder.io
9312a8af3c completionId: cgen-3f2faf613b024ab5b450fb1986ee508b
cgen-3f2faf613b024ab5b450fb1986ee508b
2025-11-10 07:33:20 +00:00
Builder.io
2fa9f63763 Prettier format pending files 2025-11-09 22:40:19 +00:00
Builder.io
16c010742a completionId: cgen-f48353eb9ca44f41a0ac6608d360af38
cgen-f48353eb9ca44f41a0ac6608d360af38
2025-11-09 22:16:18 +00:00
Builder.io
7ca2e74151 completionId: cgen-1d70769f8a0d488d921283e8f049547d
cgen-1d70769f8a0d488d921283e8f049547d
2025-11-09 22:16:13 +00:00
Builder.io
cf34d592c3 Configure health server to use port 8044 as default
cgen-524503d5f1594a3fbcf717a6dbe33b0a
2025-11-09 22:05:22 +00:00
Builder.io
63e86bb70d completionId: cgen-c4c730afe5694df69b9b8ee1b0ab592c
cgen-c4c730afe5694df69b9b8ee1b0ab592c
2025-11-09 04:58:20 +00:00
Builder.io
e3fd976077 Prettier format pending files 2025-11-09 04:42:09 +00:00
Builder.io
9c0a12eafa completionId: cgen-849d95395f8e445f8f8833b2500748ac
cgen-849d95395f8e445f8f8833b2500748ac
2025-11-09 04:41:42 +00:00
Builder.io
c6c4eaf9f4 Update bot health port to PebbleHost's 8044
cgen-2b9ebcdf8dda4458b8d1f7c52608fca9
2025-11-09 01:01:57 +00:00
Builder.io
d7365fa209 completionId: cgen-0aabc52078364339927c19bcd4b607ab
cgen-0aabc52078364339927c19bcd4b607ab
2025-11-09 00:52:45 +00:00
Builder.io
81dca160b4 completionId: cgen-7f6464f58ad04d6eb9c3939ae8858384
cgen-7f6464f58ad04d6eb9c3939ae8858384
2025-11-09 00:45:24 +00:00
Builder.io
00dffd8df7 completionId: cgen-a6ed9af59a90456bbc5cf0379fe4b668
cgen-a6ed9af59a90456bbc5cf0379fe4b668
2025-11-09 00:45:21 +00:00
Builder.io
a8b8b99bf9 completionId: cgen-5f8fd56272804bf4bde96ea0a3a30772
cgen-5f8fd56272804bf4bde96ea0a3a30772
2025-11-09 00:45:15 +00:00
Builder.io
17c9fc4cfa Prettier format pending files 2025-11-08 21:01:53 +00:00
Builder.io
68a5159171 completionId: cgen-5a576d0bf17c4021825462c96c9b817f
cgen-5a576d0bf17c4021825462c96c9b817f
2025-11-08 20:51:09 +00:00
Builder.io
c933d85232 completionId: cgen-ad565a61bc6047fd9c5f2b736d564a4f
cgen-ad565a61bc6047fd9c5f2b736d564a4f
2025-11-08 20:51:06 +00:00
Builder.io
df27613d7c Create manual Discord command registration script (separate from bot startup)
cgen-6340106fd6884f9b9b1325094070b9ac
2025-11-08 20:50:59 +00:00
Builder.io
5eab5f53e6 Prettier format pending files 2025-11-08 17:32:49 +00:00
Builder.io
7f31543db8 Create refresh-roles command to sync Discord roles
cgen-51594fb6d4f9478d8da4f10fcdf8ed5b
2025-11-08 13:41:30 +00:00
Builder.io
46cbb19eac Add role assignment in set-realm after realm selection
cgen-d08b34fcabe44d5f894e2dc491319742
2025-11-08 13:41:16 +00:00
Builder.io
7e6549c722 Update set-realm to use client and assign roles
cgen-1492787223bc470689b38b4f78e3ef38
2025-11-08 13:41:09 +00:00
Builder.io
3a59315da8 Update set-realm command to assign Discord roles
cgen-e59fff9b2d724f4791b3d409a00f1db6
2025-11-08 13:41:05 +00:00
Builder.io
c83b95ce70 Update verify command to assign Discord roles after linking
cgen-af7ed50540b94b45b38fc1c08bd1f574
2025-11-08 13:40:50 +00:00
Builder.io
0e33637b6e Create Discord role assignment helper utility
cgen-15f3925022ba49889a329167af09fb37
2025-11-08 13:40:46 +00:00