Faux

Discord Bridge

June 13, 2022

Reward: 2 stars

ID: P0145

Grantee(s): ~midsum-salrux

Champion(s): ~littel-wolfur

CompletedProposalDev: Apps

Background

Every community should be on urbit. Currently, many of them are on discord. This is particularly true of DAOs and creator-centered groups who would be a natural fit for us. But even if some members are interested in urbit, it's not easy to get everyone to pack their bags and move to a new platform all at once. This was the motivation behind the first version of Faux, a bridge between discord and urbit groups. When a member posts a new message in your discord group, a bot reposts it in your urbit group, and vice versa. This is implemented with a python program over the urbit airlock. It works, and is in use by several groups, but it's difficult and frustrating to set up and configure.

For this project, I will rewrite the Faux discord bridge as a native gall agent and create a frontend app to configure it.

User Stories

  • As a community runner, I can create a bridge between my discord group and my urbit group.
  • When the bridge is established, I can talk to my discord friends from urbit, and they can talk to me from discord.
  • I can choose which channel on my urbit group corresponds to a given channel on my discord group.

Milestones

Milestone One - Implement discord bridge backend

Expected Completion: Mid-July 2022 (six weeks)

Payment: One star

Feature parity with current python implementation: select a discord channel and an urbit groups channel, and your ship will echo messages between them. Configuration will be through dojo commands at this stage.

Milestone Two - Create configuration app

Expected Completion: Early September 2022 (six weeks)

Payment: One star

This will be the flow for bridging a new group:

  • Guide the user through obtaining their discord bot token and inviting their bot to their discord group (with links and screenshots in the app).
  • Have the user choose an urbit group to bridge.
  • Show the user a list of their discord channels. When they choose one, show them a list of their urbit channels to link it to.
  • The user can also view and manage their existing bridged groups through the frontend.