This script will tweet out new reality.eth questions and answers.
It does this by querying the graph endpoints specified in @reality.eth/contracts.
Make a file called secrets/config.json
with the settings from the mastodon account create application section
{ "url": "...", "access_token": "...", }
You should also make a directory called state
which will store the files tracking how much has been tweeted out so far.
Install dependencies either from packages/mastodon-bot
with npm install
or from the top level of the repo with lerna bootstrap
.
cd packages/mastodon-bot
The script is run with
node index.js 1,100
...where 1
and 100
are the chains you wish to tweet about. You can add the chain ID of any other chain with a graph endpoint set in @reality.eth/contracts
.
The first time a new chain is initialized it should be run with the init
flag.
node index.js 1,100 init
This will create a state file for the chain at the current timestamp. You can edit this manually if you want to tweet some of the existing entries.
Make a cron, eg to run every second we use:
* * * * * cd /home/ed/monorepo-twitter/packages/twitter-bot && node index.js 1,100
The script uses lock files under state
to ensure only one process is trying to tweet about a given chain at a time. If something breaks and the lock file isn't deleted, you may need to delete this file manually.