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)
This commit is contained in:
1 parent
09ce07d403
commit
f3154396fa
9 files changed
+1405
-2
No files matched your search
@@ -1,3 +1,34 @@
|
||||
# itako
|
||||
|
||||
discord.gg <---> fluxer.app channel bridge. unifies platforms, unifies friends.
|
||||
discord.gg <---> fluxer.app channel bridge. unifies platforms, unifies friends.
|
||||
|
||||
One channel on each side; messages are relayed through webhooks so they show
|
||||
the original author's name and avatar.
|
||||
|
||||
## Docs
|
||||
|
||||
- **[INSTALL.md](INSTALL.md)** — setup guide (bots, tokens, .env, running)
|
||||
- **[TODO.md](TODO.md)** — roadmap: edit/delete sync, stickers, service mode, …
|
||||
|
||||
## Layout
|
||||
|
||||
- `itako/bridge.py` — runs both bots in one asyncio process:
|
||||
- discord.py bot listens on Discord, relays to a **Fluxer** webhook
|
||||
- fluxer.py `Bot` listens on Fluxer, relays to a **Discord** webhook
|
||||
- Webhooks named `itako-bridge` (configurable) are created once per channel
|
||||
and reused.
|
||||
|
||||
## Setup
|
||||
|
||||
1. `uv sync`
|
||||
2. Copy `.env.example` to `.env` and fill in (see [INSTALL.md](INSTALL.md)):
|
||||
- Discord: bot token + the channel ID to bridge (enable Message Content intent!)
|
||||
- Fluxer: create a bot application at fluxer.app, grab its token, invite it
|
||||
to your guild, put its token + the channel ID
|
||||
3. `uv run python -m itako.bridge`
|
||||
|
||||
## Loop protection
|
||||
|
||||
- Messages authored by either bot account are ignored.
|
||||
- Messages posted by either side's webhook (`message.webhook_id`) are ignored,
|
||||
so relayed copies never bounce back.
|
||||
Reference in new issue
Block a user