# NFT42 Bot Requirements ## Out of the box * verification of discord user with signed ETH 712 message * Presume need a role for this? *KO Unlock*? * Assign role based on number of NFTs * `0xFBeef911Dc5821886e1dda71586d90eD28174B7d` KODA v2 contract * 1 KODA - *KO Collector* role * 10 KODA - *KO Collector ⭐* role * 100 KODA - *KO Collector 👑* role * There is a v1 and there will be a v3 this year... * Assign roles based on quantity of ERC20 tokens * We don't have a token yet...but will need this _Owl - anything else we can use out of the box?_ Cost 0.5 ETH for maintenance and core support ## Bespoke requirements * If account has a KO profile then give the *KO User* role - check this on verify step * `https://us-central1-known-origin-io.cloudfunctions.net/main/api/network/1/accounts/:address/profile/tiny` * If just address returned do nothing - they have not created a profile * If `username` exists then add: *KO Profile* role * Check smart contract to see if artist (from access controls contract) * `https://etherscan.io/address/0xec133df5d806a9069aee513b8be01eeee2f03ff0#readContract` * `isEnabledForAccount` is true then add: *KO Artist* role * Subgraph driven roles * `https://thegraph.com/explorer/subgraph/knownorigin/known-origin?query=Collectors` ``` { mostEth: collectors(first: 100, orderBy: totalPurchaseEthSpent, orderDirection: desc, where: {totalPurchaseEthSpent_gt: 10}) { id address totalPurchaseCount totalPurchaseEthSpent } } ``` * over 10 ETH spent a *KO Patron 🐋* role * would be good to potentially expand this * would be good to have this generic to run GQL command to role? _Owl all make sense?_ Cost 0.5 ETH? to add this extra functionality