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.
Long term, where are we going?
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
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:
- Slash Commands
- Inline Buttons
- Opt-in Bot Upgrades
- possibly more
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