This project aims to gate a Discord server/channels with Superfluid streams. Exclusive channel content and perks can be accessed by users who are streaming super tokens to the server admin account through the Superfluid protocol. This project also includes periodic checks to ensure that all users with the streamer role are actively streaming to our server admin. If a user's stream is terminated or their flow rate is reduced, The bot will automatically remove the streamer role from their account to prevent them from accessing our exclusive channels and perks until they start streaming again.
Steps to try it out :
Join the TechNow Discord Server: https://discord.gg/JEMFf5ux5M
Make sure you are streaming a minimum of 0.5 DAIx/month to 0x7348943c8d263ea253c0541656c36b88becd77b9 on goerli if you wanted to access exclusive stream gated channels.
Open the #start-here channel on discord server.
Type the command /verify in the channel.
Our bot will send you a link to connect your wallet and sign a message.
After you sign the message, the bot will verify if a minimum of 0.5 DAIx/month stream is present between your wallet address and the server admin address.
If the stream is present, you will be assigned the streamer role and gain access to the exclusive channels and perks on the server. If the stream is not present, you will still be assigned the member role, which will allow you access to the #general channels on the server.
I faced some challenges while working on this project. One of them was making the bot respond to commands and sending ephemeral messages. I also encountered permission issues with the Discord API. Another challenge was figuring out how to authorize with a wallet, as there were not many implementations available. Overall, the project required some effort and problem-solving skills, but it was a good learning experience.
Technologies used
Discussion