Hey
@Jaxel
First off, love your Discord Integration add-on, been using the role sync and bot features and they work great.
I wanted to share something I ended up building for the chat/embed side of things. I spent about a week trying to get WidgetBot working (the clusters kept going down, SSL errors, the setup process was painful) and eventually just gave up on it. So I wrote my own lightweight Discord chat viewer instead.
It's a PHP script that uses the Discord REST API through a bot to pull channels and messages, then displays them in a Discord-style UI that I iframe into a XenForo Page node. No external server needed, no Node.js, runs entirely on shared hosting (Bluehost/cPanel in my case). It reads channels, messages, embeds, reactions, custom emoji, attachments, role colors, the whole thing. The bot only sees channels its role has access to, so private channels stay private.
It's read-only on purpose. The idea is to give website visitors a live preview of the Discord activity so they're tempted to actually join. There's a native Discord widget on the side showing online members and a Join button.
Some details if anyone is curious:
- Pure PHP backend with file-based caching (5 sec for messages, 5 min for channels)
- Polls every 8 seconds for new messages, reactions, edits
- Smart message windowing: always shows last 30 messages minimum, but expands to show everything from the last 5 hours if the channel is active
- Lazy cache cleanup built in, no cron needed
- Mobile responsive with a channel dropdown when the sidebar is hidden
- Under 1000 lines of code total
Here's how it looks:
Not trying to replace your add-on at all, yours handles the important stuff like role sync and bot management. This just fills the gap that WidgetBot was supposed to fill but never reliably could.
If you're interested in integrating this as an alternative option alongside WidgetBot, I'm happy to share the files and contribute it for a future update. Either way, figured someone else here might find the idea useful.
Cheers!