
Intro
We are introducing Fantastic12 Team Bot to the Barnbridge Discord server so that teams can tackle bounties in our Discord server. We are not affiliated with F12 but we think they have an awesome tool that is great for DeFi and Gitcoin. So to give you a run down of F12, it is a bot that allows you to create squads of devs or team members to work together in a Discord server and get paid for bounties from Gitcoin through Discord as well. It essentially allows you to create a small DAO in your channel and you and your squad can get paid, and vote on parameters that the team can agree on. Your team squad members register themselves with their Ethereum wallet address and this will be how they get paid for the team’s work.
Say I have a squad of 3 devs we can start a squad and then split our payments 33% each. So when our squad completes a bounty we then can distribute payment from the bot in Discord with the proper commands. The team will then receive the rewards to their connected Ethereum wallet addresses.
The F12 bot is a little tricky but once you start using it, you quickly get the hang of it. We have already downloaded the bot to our server but you can download the bot to your own server if you feel necessary to do so. The F12 bot will automatically give you a list of commands on how to use the bot in fantastic12-get-started channel.
How To Start a Squad
The F12 bot will automatically give you a list of commands on how to use the bot in fantastic12-get-started. It is a lot of commands and sorta overwhelming so we wrote this to help you out.
First, if you would like to start a squad on BarnBridge server please reach out to a BarnBridge Knight in Discord so that they may start a channel for you to start your squad. If you would like to start a squad on your own server you will first need to download the bot and then start a channel to create your squad. I would recommend that you only use squad channels for building parameters and rules. Then, you can have a Discord channel designated for working together on bounties to avoid the clutter in the main threads.
Now it is time to start your squad, according to the fantastic12-get-started channel:
- Use !setaccount Your-Ethereum-account command in the channel to connect your Discord account with your Ethereum wallet address. (Note: you only need to do it once, and your account will be synced across all Discord servers/channels!)
- Use !initsquad command in the channel to summon the squad. Follow the command’s instructions!
Note: It’s probably easiest to set parameters before you add a members to the squad because it will require less voting to make changes. Then, you can revote to change things when new members join.
Adding Squad Members
Adding squad members is actually not so difficult and the F12 bot lays it out great in the fantastic12-get-started channel. Its states to add team members you must:
- Before you add someone to your squad, they need to first use !setaccount Ethereum-account to connect their Discord account with their Ethereum account.
- Use !addheroes @person1 tribute1 shares1 @person2… to add people to your squad. tribute1 is the amount of DAI @person1 needs to pay to the squad in order to gain membership, and shares1 is the amount of share tokens @person1 will receive. Share tokens only determine what proportion of the squad’s treasury someone is entitled to, not voting power.
- Alternatively, use !addheroes @person1 @person2… to add people to your squad , with tribute set to 0 and shares set to 100 for each person. Do this if you just want to let your friends in!
- Follow the onscreen instructions to approve this action. Once you have enough approvals, you can use a provided link to execute it. (Note: if you set non-zero tributes, each prospective member need to use a provided link to approve their tribute to the squad)
- Important note: Squad members always have the ability to use !ragequit to ragequit from the squad, taking their share of the squad’s treasury with them. If you don’t really trust someone you’re adding, give them only a few shares, and let them prove their trustworthiness before giving them more shares.
How to select a Bounty for your Squad
- Find a bounty you want the squad to collaborate on from gitcoin.co or explorer.bounties.network, and work on it with your pals in the squad.
- Once you finished working on the bounty, use !fulfill link-to-bounty display-name(GitHub username for Gitcoin bounties) contact-email fulfillment-content to submit your work. fulfillment-content should be the content of your work, usually a link to your work.
- Follow the onscreen instructions to approve this action, and execute it once enough members have approved it.
How to Pay Out your Squad
The most important part of all of this is the ability to pay out your squad for their work in Discord. F12 gives you the ability to set all the rules and payout structure prior to taking on bounties but when it comes to paying the team this how you would do it.
- Use !pay destination1(Eth address/ENS name/Discord handle) amount1 dest2… to transfer money (DAI) from the squad’s treasury to someone else. A common use case for this command is to distribute bounty rewards to squad members without them needing to ragequit. Note: the amount you transfer is limited by the daily usage limit (default is 1000 DAI). Use !setlimit positive-number to change it, or use !squad to check your current usage & limit.
- Use !paytoken token-symbol-or-address(only supports ETH/DAI/SAI for symbol) dest1 amount1 dest2… to transfer money other than DAI from the squad’s treasury to someone else. Works the same as !pay, but the daily usage limit is only applied to DAI, not other tokens.
- Use !mint dest1(Eth address/ENS name/Discord handle) amount1 dest2… to mint share tokens for squad members. Share tokens only determine what proportion of the squad’s treasury someone is entitled to, not voting power. Use !share @person to check how many share tokens someone owns.
We hope this guide will aid you in starting your F12 team and we thank the F12 team for building such an awesome bot for BarnBridge to implement to truly be a community driven project.
Haven’t joined our Discord server yet ? Click here to get started and join the conversation!