Skip to content

An X bot that tweets all OpenSea sales for a given contract ๐Ÿณ

License

Notifications You must be signed in to change notification settings

dsgriffin/opensea-sales-x-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

60 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenSea Sales X Bot ๐Ÿค–

A simple bot that monitors Opensea sales for a given collection & then posts them to X.

Want to include sales from other markets (X2Y2, LooksRare etc.) too? โš ๏ธ

To track sales across multiple marketplaces (X2Y2, LooksRare etc.), use my new repo NFT Sales X Bot instead.

Donations ๐Ÿ’ต

Eth Address: 0x51C96e813e377E1a18B6867F932aE1B7b1600372

Thank you ๐Ÿ™

Requirements ๐Ÿ“

  • X Developer Account

  • An OpenSea API Key (request one here)

  • A Heroku Account; a free account should be ok if you tweak the project to run less often than every minute (by default it is every minute), otherwise a $7 a month dyno instance is more than enough

Setup ๐Ÿ”ง

  • Clone/Fork/Copy this project to your local public/private git repo

  • Create an X Developer App (make sure you change it to have both read/write permissions)

  • Create a new Heroku app & set it as a remote branch of your git repo (see Heroku Remote)

  • Make sure you are logged in to the X account you want the bot to run on (as the next step will be authorizing the bot to post on your account)

  • Install Twurl and, using your X Developer consumer key & secret, generate the access token & access secret

In the Settings section of your Heroku app you'll see a Config Vars section. Add the following config vars:

  • CONSUMER_KEY - Your X Developer App's Consumer Key
  • CONSUMER_SECRET - Your X Developer App's Consumer Secret
  • ACCESS_TOKEN_KEY - The Access Token Key of the X Account your bot is posting from
  • ACCESS_TOKEN_SECRET - The Access Token Secret of the X Account your bot is posting from
  • OPENSEA_COLLECTION_SLUG - The OpenSea collection name you wish to track (e.g. cryptopunks)
  • X_API_KEY - Your unique OpenSea API key

Now you're ready to release - just push up the code via. git to the Heroku remote (see Heroku Remote if unsure how).

Make sure you are using worker dynos and not web dynos - you can set this in the CLI your project with:

heroku ps:scale web=0
heroku ps:scale worker=1

Modification ๐Ÿ› 

By default I am just include the name, price in eth & usd, a hashtag or two and a link to the NFT on OpenSea. Check out the OpenSea Events API if you want to include additional info (such as seller/buyer addresses etc.).

There is tweetWithImage function that you can use instead of the default tweet method if you prefer - this will display the full image file as part of the tweet, instead of the standard OpenSea preview image.

In app.js, on line 24 you can see there's a commented out conditional if you'd like to only tweet out sales above a certain amount of Eth.

As mentioned at the top of the README, it runs every 60 seconds by default - you can change this to run less often if you'd like to keep it on a free Heroku instance.

License ๐Ÿ“ƒ

This code is licensed under the ISC License.

Please include proper attribution to my original repo if you fork, modify or utilize this repo in any way. Thank you!

About

An X bot that tweets all OpenSea sales for a given contract ๐Ÿณ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published