Files
itako/TODO.md
T
ph0sgene f3154396fa Initial bridge: Discord <-> Fluxer channel relay via webhooks
- discord.py + fluxer.py bots run side-by-side in one asyncio process
- messages relay through per-channel incoming webhooks with the original
  author's name and avatar (suffixed '(Discord)' / '(Fluxer)')
- loop protection: bot-authored and webhook-authored messages are ignored
- attachments re-uploaded natively both directions (8 MB cap)
- emoji mirroring: on-demand upload into the receiving guild with LRU
  eviction of bridge-created emojis only; pre-existing emojis untouched;
  to-Discord direction opt-in (50-slot default guild cap)
2026-08-25 18:41:43 -07:00

2.2 KiB

itako TODO

Ideas and future work for the Discord <-> Fluxer bridge.

Messaging

  • Edit syncing — propagate message edits across the bridge (requires tracking relayed-message id pairs; both platforms have MESSAGE_UPDATE events, but webhooks can only edit their own messages, so the bridge must remember each relayed message's webhook id + token).
  • Delete syncing — remove a relayed message when the original is deleted (same id-pair tracking as edits).
  • Reply threading — show reply context (referenced_message) as a quoted line instead of dropping it.
  • Multi-line / long-message handling — split messages that exceed the 2000-char limit on Discord.
  • Typing indicator sync — optional; likely noisy.

Media

  • Attachment size config — make the 8 MB cap configurable via .env (Fluxer supports up to 100 MB on some tiers).
  • Sticker forwarding — stickers currently do not cross the bridge.
  • Voice memo / audio attachments — verify they embed inline on Fluxer.

Emoji

Current behavior: no emoji slots are consumed. Tokens whose name exists on the receiving side render natively; others degrade to plain :name: text.

  • Optional opt-in mirroring — a config flag to re-enable uploading unknown emojis to the other guild, with an LRU eviction policy to stay under the 500-emoji Fluxer guild cap (Discord's is 50 for non-community servers, so mirroring into Discord would need care). (DONE — EMOJI_MIRROR_* env vars in INSTALL.md; to-Fluxer is on by default with LRU eviction of bridge-created emojis only; to-Discord is opt-in.)
  • Nitro/animated emoji fallback — render unknown animated emojis as a small inline image attachment instead of :name: text.

Operations

  • Graceful reconnect logging — alert (or self-heal) when one side drops its gateway connection for more than N minutes.
  • Run as a service — Windows scheduled task / NSSM service wrapper or a systemd unit for Linux hosting, with auto-restart.
  • Metrics — simple counters (messages relayed per day, failures) in a log file or tiny status page.