0
Crafting Digital Experiences
Web Development
Back to Projects
Project CategoryBackend
Project Showcase

FXPulse Discord Bot

A Discord-first market intelligence assistant streaming FX and commodity analytics directly into trading communities.

Node.js
Discord.js v14
MongoDB
QuickYAML
+1 more
FXPulse Discord Bot

Project Overview

FXPulse brings institutional-grade market data into Discord. Built on Discord.js v14 and Node 18, it delivers slash-first workflows, indicator-rich embeds, and voice ticker automation sourced from the Finance API hosted at finance.khorami.dev.

Development Process

Challenges

Designing embeds that stay readable while surfacing dense analytics, handling API authentication changes, and keeping voice channels synchronized without rate-limit hits.

Solutions

Implemented a caching layer with last-good fallbacks, introduced configurable API credentials via FINANCE_API_KEY/FINANCE_API_BEARER, and orchestrated per-guild ticker jobs with exponential backoff when markets close or APIs stall.

Results & Impact

Empowered trading communities with real-time FX intelligence right inside Discord, improved resiliency against upstream hiccups, and gave admins fine-grained control over permissions, locales, and automated voice tickers.

Project Gallery

Tech Stack

Node.js
Discord.js v14
MongoDB
QuickYAML
dotenv

Key Features

  • Slash commands for live prices, technical analysis, watchlist management, and guild settings
  • Indicator-rich embeds with RSI, MACD, SMA, Bollinger Bands, ATR, and market-status badges
  • Guild-scoped permissions, locale-aware formatting, and interval defaults persisted in MongoDB
  • Voice channel ticker that cyclically renames channels with custom format, precision, and backoff on closed markets
  • Autocomplete that merges popular pairs with guild watchlists for faster symbol discovery
  • Robust caching layer with last-good-data fallbacks and automated anomaly warnings
  • Finance API integration secured via x-api-key and bearer token headers with configurable base URL