If you want to perform an airdrop or a marketing campaign on twitter, but wonder how you're going to get all the wallet addresses from comments, Here's a quick and easy way to do that!
Sign up to get twitter development access(https://developer.twitter.com/en/portal/dashboard), once you're done
and get your BEARER token
Now to the Code!
Requirements
Node Js 16 and Up
Axios
import fs from "fs"; import axios from "axios"; var resultsNext_token = ""; var count = 0; var arrayWallets = [] //Array of wallets var regexPattern = /[^A-Za-z0-9]/g //Removes Pesky emojis and non alphanumerical text; async function runthis(id){ while (count < 13) { //Count is num *100(100 comments per request) so this goes through 1,300 comments const response = await axios.get( `https://api.twitter.com/2/tweets/search/recent?query=conversation_id:${id}&max_results=100&tweet.fields=in_reply_to_user_id,author_id,created_at,conversation_id&${ resultsNext_token ? `next_token=${resultsNext_token}` : "" }`, { headers: { Authorization: `Bearer ${BEARER}`, }, } ); const resultsArray = response.data.data; resultsNext_token = response.data.meta.next_token; if (resultsArray != undefined) { resultsArray.map(data=>{ const datatext = data.text.replaceAll("\n"," ").split(" ") datatext.map((data)=>{ if(data.length>30){ // Checks for long strings(possibily wallets) arrayWallets .push(data.replace(regexPattern, "")) } }) }) // arrayWallets = [...arrayWallets ,...resultsArray] count = count + 1; if(count ==13){ // after 1300 comments searched let data = JSON.stringify(arrayWallets ); fs.writeFileSync("walletArrayOut.json", data); // stores wallets in a json file as an array } } else { return false; } }
And There you have it, Hope it helps!
Top comments (1)
this is very interesting ser but i'm not a dev and many ppl dont understand how to use this script please elaborate