🤖 BrightID Bot Development

:robot: BrightID Bot Development


https://github.com/ShenaniganDApp/brightid-discord-bot

The BrightID bot is a basic implementation of an app with great possibilities for the Bright ID ecosystem

Currently standing at 9000 verified users, it is one of the primary methods used to connect to BrightID. With server owned sponsorships shipping soon, the bot has only scratched its potential in the BrightID ecosystem.

:rocket: Long term, where are we going?

:sandwich: Discord and BrightID go together like peanut butter and jelly

Discord is the gathering place of web3. What better for a social verification graph than to integrate directly where people connect to each other? Right now Web3 Discord is a mess

  • Bot spam
  • Airdrop farmers
  • Walled DAO Gardens (no pun intended)

Combine the BrightID stars with the BrightID Discord Bot to supercharge connection parties.

The BrightID bot can be the swiss army knife for BrightID Stars! The bot can manage the entire BrightID flow, internally for Discord servers.

Connect ➡️ Verify ➡️ Sponsor ➡️ Assign Role

:white_check_mark: Discord Servers use the BrightID bot to verify their members are unique humans

Bots

No bots allowed. Assign a role to every BrightId verified member

Airdrops

One airdrop, one person. Organize airdrops in a sybil resistant environment.

Walled Gardens

DAOs can freely onboard, with less threat of sybil spam/gaming. Open token distribution further than ever

Development

Epic 1 - Upgrade Developer experience

Typesafe rewrite

Typesafe languages, like typescript or rescript, introduce less runtime bugs. The Discord API is already compatible with Typescript, so this seems like a no-brainer to reduce bugs in the codebase.

Create a staging environment

There isn’t a good way to test new features implemented for the bot. It would be nice to have a staging environment. That way we can do user testing before launching new features that require on-chain data

Also, new developers working on the bot require admin access for testing. A staging environment would make it much safer for developers

Deliverables:

  • Codebase should compile with strict types
  • Mock Gist for guild channels
  • Mock Discord Server
  • Testnet Usage
  • Feature Flag support

Epic 2 - Utilize New Discord Bot features

Admin Flow Upgrades

Current Admin has a few features

  • !invite Sets the invite link for the server displayed in the !guilds command
  • !role Sets the custom role name for ‘Verified’ users
  • !guildAddress Sets the ethereum address for the guild used to track sponsorships

While these features are functional, they are very ugly and could use some TLC to help admins properly utilize brightid’s discord features

New Features in Discord Bot

Discord has done some large upgrades to bot functionality within discord.

Most notably:

Thanks collabland for showcasing all these cool things

Epic 3 - Bot Web UI

Migrate to Monorepo

Monorepos setups are helpful when maintaining codebases with different projects, i.e. a bot and a frontend. They allow for greater code sharing and are utilized by plenty of projects.

CI/CD Integration

Stands for Continuous Integration and Continuous Deployment. The bot has a basic CI/CD flow through the Heroku hosting service. A more proper CI/CD flow can be implemented using git hook libraries like Husky and build process tools like Netlify

NextJs/Remix Frontend

A frontend for the bot to allow for a more streamlined usage of the bot features (Connect/Sponsors/Admin)

An active wireframe is in development
Frontend Wireframe

Time Allotment

1st Epic - 1.5 month

  • Typesafe Rewrite
  • Staging Environment

2nd Epic - 1.5 month

  • Admin flow upgrades
  • New features in Discord Bot

3rd Epic - 1.5 month

  • Monorepo
  • CICD
  • Frontend UI

1.5 month + testing

Funding

  • 120 BRIGHT / hr
    (about $60/hr with a BRIGHT price of $0.50)

  • 18000 BRIGHT per epic.
    Priced in working 5 hours / day, 5 days a week for 1.5 months

  • Recipient Address: 0xf4bb53efcfd49fe036fdcc8f46d981203ae3bab8

4 Likes

Nice work on outlining the deliverables for epic 1. Could you please share your recipient address here in the post so people can check it against the forum proposal recipient address?

1 Like

thanks for the work it will help the discord a lot

1 Like