Closed Anirudh2490 closed 3 years ago
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
This issue now has a funding of 2500.0 PROCN attached to it as part of the Ocean Protocol Foundation fund.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Workers have applied to start work.
These users each claimed they can complete the work by 4 weeks, 1 day from now. Please review their action plans below:
1) nanspro has applied to start work _(Funders only: approve worker | reject worker)_.
I have used twitter api's before for NLP related tasks and i am familiar with faucet request so will try to finish it quickly(within a week or two)
Learn more on the Gitcoin Issue Details page.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work has been started.
These users each claimed they can complete the work by 2 years, 11 months ago. Please review their action plans below:
1) acolytec3 has been approved to start work.
If this issue is still available to be worked, I would like to build this tweetbot. I have done work with the twitter API working with a voice-enabled home assistant (Snips) and would love the opportunity to wokr on this project. My action plan would be to follow the one described in the issue - stand up the faucet server, have the bot interact correctly with the faucet, and then handle tweet requests for tokens. 2) nanspro has been approved to start work.
easy peasy lemon squeezy, already submitted the PR :)
Learn more on the Gitcoin Issue Details page.
@welsakka Waleed, thank you for showing interest in this project! Unfortunately, we do will only pay in Ocean tokens, and not in ETH. Our network launch is only a little over a month away, on March 31st, so you should be able to access your payout after this. If you are still interested, please let us know and we will approve you.
I've got the bot ready to go and I didn't need to modify anything about the faucet server. Will submit a PR.
I forked your repo and dropped the tweetbot code into it so not sure if you want a straight PR or something else. Let me know if this is what you're thinking.
@Anirudh2490 i have created my repository for the twitter bot.
I have implemented it using Python's tweepy package. Pytest is used for testing purposes.
The bot picks up address from messages where he is mentioned like "@TestOcean" and then requests faucet to send ether to address. Based on faucet's response the bot replies back to the requestor's status.
@nanspro can I have your email? I can send you credentials for our test account, and you can test it on that.
@nanspro you can submit your PR to this repo https://github.com/oceanprotocol/tweetbot.
Sure will submit it there
@nanspro can I have your email? I can send you credentials for our test account, and you can test it on that.
@Anirudh2490 I have replied on that mail requesting keys in plain text which i can copy.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 2500.0 PROCN has been submitted by:
@chalidbdb please take a look at the submitted work:
⚡️ A tip worth 2500.00000 PROCN has been granted to @acolytec3 for this issue from @chalidbdb. ⚡️
Nice work @acolytec3! Your tip has automatically been deposited in the ETH address we have on file.
⚡️ A tip worth 1000.00000 PROCN has been granted to @nanspro for this issue from @chalidbdb. ⚡️
Nice work @nanspro! Your tip has automatically been deposited in the ETH address we have on file.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
This Bounty has been completed.
Additional Tips for this Bounty:
Token Distributing Twitter Bot for Ocean Protocol’s Testnet
How can you help?
We want to create a Twitter bot that can help distribute tokens to our testnet users. The starting point will be to set up our Faucet Server. You can follow the README.md to get set up. You will be working with Twitter APIs to make a bot that interacts with our faucet server through API calls and by using a test Twitter account that we created.
Here’s how a Twitter user can request for tokens from Ocean.
A follower of Ocean Protocol’s Twitter page tweets to the account requesting some tokens. For example, user tweets the testnet address with a common phrase - "@TestOcean, requesting test tokens into 0x0000000000000000000000000000000000000000 for the #OceanTestNet". Request for tokens are tied to Twitter accounts to ensure verification and prevent malicious actors from exhausting all available funds or accumulating enough testnet tokens to mount spam attacks.
The bot then picks up the comment with the wallet address and instructs the faucet server to award a given number (configurable) of testnet tokens to the corresponding address.
The faucet server will then initiate the transfer and sends back a response. The response can be of 3 types - a) 200 (successfully transferred) b) 503 (service unavailable) which means this account has had tokens transferred to it within the last 24 hours c) 404 - Something went wrong.
Depending on the response, the Twitter bot needs to send a reply tweet to the user with the appropriate message. If a) 202 - Tweet “@userhandle x tokens have been transferred to your account!” b) 503 - Tweet “@userhandle you’ve already requested for tokens in the last 24 hrs. Only one transfer in 24 hours is allowed. Try again in xxx hours” or c) Tweet “@userhandle something went wrong and we couldn’t transfer tokens to your wallet address. Please check address provided and try again later”.
You may modify these tweets to fit Twitter’s character limits but the nature of the content should be similar.
What needs to be done?
You will be working with this test Twitter account and will be provided with API access keys and tokens via email once your application has been approved.
Here are some additional tutorials to help with your setup
Twitter APIs and rules/best practices
The bot may be built using Twitter API Libraries for NodeJS and Python. We will require implementation in either of one of these two. Set up our faucet first, and make sure it can interact with the Twitter bot/API.
We prefer the final code to be written in Javascript but Python is also acceptable. Please inform us beforehand about your approach. You may reach out to us via. Gitter with any issues.
We are very happy when
You may create a repository for this bounty and provide us the link while entering your final submission.
Seen this problem before?
Any help solving this is welcome. Feel free to leave any comments and help someone else to solve it. We might airdrop tokens to someone even if not directly completing bounty.
Questions & Reviews
Pull requests will be reviewed by one of the maintainers or long-term contributors. In case of any additional questions feel free to ask in this thread and we will do our best to add the missing info :)
Things to know
The bounty lifecycle process including payout will be managed using Gitcoin. We'll be responding to your questions here, but for discussion and clarification we recommend to join also our Gitter channel where our tech community is accessible. In order to see the PROCN balance in your wallet you'll need to reference the related token contract with address 0xf2aabdd898a0139195b2b5da7387d43a45ded254. If you use a MetaMask plugin you'll find the the exact steps here. Lastly, even if it is a contest bounty, we will reward all valuable contributions and efforts. We greatly appreciate the value our open source community brings to Ocean and will always award some tokens to all great contributions! :smiley:
Reward
Once the project was reviewed and merged in the master branch, you will receive the reward. PROCN is a Proto-Ocean token. Bounty hunters that earn PROCN will be able to convert them 1:1 to Ocean tokens on network launch (Ocean Token will be valued at at 0.22 EUR on network launch). Network launch is expected to happen by Mar 31, 2019. Until then PROCN will be locked and non-transferrable in the ETH wallet to which it is delivered to.