NFT sales monitoring bot of the Ethereum blockchain. (ERC721, ERC1155)
- Opensea API Key - apply here
- Alchemy API Key - apply here
- Etherscan API Key - apply here
-
Twitter
-
Discord
Notification is optional. You can turn it on in the ./.env
file.
For example:
TWITTER_ENABLED=1
DISCORD_ENABLED=1
config/setup.js
(Default is off).
-
Register Twitter developer account with Elevated access. 🔗 Link
-
Create a development app with OAuth 1.0a read-write permissions. 🔗 Link
-
Install Twurl and run following command:
twurl authorize --consumer-key <your-app-key> --consumer-secret <your-app-secret>
This will return an URL that you should open up in your browser. Authenticate to Twitter, and then enter the returned PIN back into the terminal.
This should create a file called
.twurlrc
in your home directory with all the necessary information.
- Open the Discord channel you want to receive sales event notifications.
- From the channel menu, select Edit channel.
- Select Integrations.
- Select Create Webhook.
- Enter the name of the bot that will post the message.
- Copy the URL from the WEBHOOK URL field.
- Click Save.
Create an
.env
file in the root directory of the project with the following contents:
CONTRACT_ADDRESS=
OPENSEA_API_KEY=
ALCHEMY_API_KEY=
ETHERSCAN_API_KEY=
TWITTER_API_KEY=
TWITTER_API_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_SECRET=
WEBHOOK_URL=
Do not commit/include your .env file in your repository.
npm install
To ensure your configuration(.env
) is correct, run the following command:
npm test
The test should take less than a minute to run. If it fails, please check your configuration.
Run the following command to start the bot:
node app.js
To test a certain transaction for debugging purposes, run the following command:
node app.js -t <transaction hash>
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Daniel Griffin @dsgriffin
This project is MIT licensed.