Discord Webhook Bot

All notable changes to the Discord Scraper Webhook Bot are documented here.

The webhook bot handles Discord webhook processing, checkout sanitization, bot commands, and release management.


January - February 2026

January 31, 2026

Package Tracking

  • EasyPost Integration - Added /track command with EasyPost tracker creation

  • Auto-tracking - Trackers created automatically from checkout shipping info


January 29, 2026

Timestamps

  • UTC Fix - Use real UTC timestamps instead of PST-labeled-as-UTC


January 28, 2026

Checkout Enhancements

  • Order Number Capture - Extract order numbers from webhook embeds and store in Supabase

  • Message IDs - Capture source and posted Discord message IDs for checkouts

  • Field Parsing - Improved checkout field parsing for various bot formats

  • Type Re-export - Refactored to re-export types from shared package


January 26, 2026

Release Syncing

  • Reaction Sync - New script to sync release signups from Discord reactions


January 25, 2026

Bot Parsing Improvements

  • Markdown Handling - Support markdown bold field names in parser

  • SKU Detection - Improved SKU extraction from various bot formats

  • Swft 3 Support - Added TCIN extraction from Item field

  • Product URLs - Capture product URLs from checkout embeds

  • Email Extraction - Added email extraction for declined checkouts

  • Spoiler Tags - Strip Discord spoiler tags from email addresses

  • Bot Messages - Accept bot messages in addition to webhooks

Documentation

  • CLAUDE.md - Added comprehensive codebase documentation

  • Sync Scripts - Documented all backfill and sync utilities


January 24, 2026

Commands

  • /imap Rename - Renamed /order-add command to /imap

  • /order-delete - New command to delete IMAP profiles

  • Declined Sync - Added Discord sync script for declined checkouts

  • Profile Hint - Added hint to profile name field in /imap modal

Success Webhook

  • Confirmed Label - Changed 'Net Purchases' to 'Confirmed' in success webhooks


January 23, 2026

Address Parsing

  • House Numbers - Support house numbers with trailing letters (236B, 16A)

  • Multiple Commas - Allow multiple commas in jig street addresses

  • USA Suffix - Made USA suffix optional in address extraction

  • Email Body Fix - Prevent address regex from matching email body content

Error Routing

  • Item Demand - Detect Item Demand in status description field

  • Quantity Limit - Detect Quantity Limit errors for profile channel routing

  • Separate Channels - Route Item Demand errors to separate channel

Performance

  • COUNT Queries - Use efficient COUNT queries for /success command

  • Image Refresher - Added scheduled image refresher (every 12 hours)

Database

  • Backfill Script - Added Supabase checkout backfill script

  • Automated Backups - Daily database backup workflow via GitHub Actions

  • PostgreSQL 17 - Updated to PostgreSQL 17 client for Supabase compatibility

Fixes

  • Duplicate Keys - Add random suffix to checkout_id to prevent duplicate key errors

  • DM Reliability - Ensure DM sends even when database save fails

  • Price Detection - Improved price field detection for different bot formats


January 22, 2026

Supabase Migration

  • Remove Google Sheets - Fully migrated from Google Sheets to Supabase

  • Shared Package - Now uses @bigboii-cmd/discord-bot-shared for database operations

  • Image Caching - Added product image caching in Supabase

  • Spoiler Cleanup - Strip Discord spoiler tags from prices

Version 2.8.0

  • Complete removal of Google Sheets integration

  • All data now stored in Supabase via shared package


January 21, 2026

Product Data

  • Product Prices - Save product price from webhooks

  • Product Images - Save product image URL from webhooks

  • Backfill Scripts - Added scripts for retroactive image/price population

Database

  • Auto Backup - Added automatic database backup scheduler

Deployment

  • Dockerfile - Added Dockerfile for Railway deployment

  • Private Deps - Fixed GitHub private dependency authentication

Documentation

  • Design Docs - Added webapp and cashout system design documents


Earlier History (Pre-January 2026)

Core Features (Initial Release)

  • Checkout Monitoring - Listen for webhooks from checkout bots (Astral, Alpine, etc.)

  • Sanitization - Clean and normalize checkout data before storage

  • Discord DMs - Send checkout notifications to users

  • Release Management - Create and manage product releases

  • Signup Tracking - Track user signups via reactions

  • Success Command - /success command to view checkout stats

  • Close Release - Creator-only release close feature

Integrations

  • Google Sheets - Original data storage (migrated to Supabase Jan 2026)

  • Discord.js - Full Discord API integration

  • Railway - Deployment platform configuration


Integration with ACO Dashboard

The webhook bot writes to these Supabase tables that the webapp reads:

Table
Purpose

SuccessfulCheckouts

Successful checkout records

DeclinedCheckouts

Failed checkout records

Releases

Product drop events

Signups

User release signups

MemberPoints

User points balance

MemberRenewals

Subscription tracking

ProductImages

Cached product images


Version History

Version
Date
Highlights

2.9.0

Jan 31, 2026

EasyPost tracking integration

2.8.5

Jan 28, 2026

Order number capture, message IDs

2.8.2

Jan 25, 2026

Improved bot parsing, product URLs

2.8.0

Jan 22, 2026

Supabase migration, Google Sheets removal

2.7.0

Jan 21, 2026

Product images & prices, auto-backup

1.0.0

Initial

Core webhook processing and release management


Last updated: February 3, 2026

Last updated