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
/trackcommand with EasyPost tracker creationAuto-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-addcommand 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
/imapmodal
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
/successcommandImage 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-sharedfor database operationsImage 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 -
/successcommand to view checkout statsClose 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:
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
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