A human-aided Twitter outreach bot. Improve your Twitter outreach efficiency by 100x.
- Copy the environment variables:
cp .env.example .env
- Install the project dependencies:
yarn
- Setup the command line binary:
yarn link
- Spin up the database:
yarn postgres:start
- Migrate the db schema:
yarn migrate:dev
Note: you need to manually apply for elevated access if your Twitter App doesn't have it already.
- Create or access the Twitter App from the developer portal. Copy and paste the API key and API key secret to .env.
- Setup your user authentication settings from the "Settings" tab, select the
OAuth 1.0a
and chooseRead and write and Direct message
for the App permissions. - Use any valid urls e.g.
http://localhost:3000/auth_callback
, and any valid urls withhttps
scheme for the "Website url", e.g.https://yourwebsite.com
. - Go to the "Keys and tokens" tab of the app and copy, generate the access token and paste your the respective key and secrets to
.env
.
- Ask the team members which Twitter outreach batch you are responsible for. (Note: the batches are generated via
twreach g-batches --batchSize 3
where the batchSize can be the number of people in the team) - Copy the JSON and add the prospects to the DB:
mkdir -p src/tmp && mv my-batch.json src/tmp/my-batch.json && twreach upsert-prospects --jsonFile ./src/tmp/my-batch.json
cp src/templates/custom-impl.ts src/tmp/custom-impl.ts
, and update the methods such asgetDMVariations
per your needs.- Finally, start your outreach:
twreach --limit 5
(this will allow you to outreach to 5 projects at a time, and you can only DM a project once unless you are doing follow-ups.)
- If the project has more 1,000 ETH (i.e. they are a very successful project) of total volume, then we will like and reply to one of their tweets before we send the DM to increase our chance
Elevated access is required
: the Twitter App needs elevated access to DM people.command twreach is not found
: try./bin/twreach
instead.
Check out the documentation at https://github.com/infinitered/gluegun/tree/master/docs.
To package your CLI up for NPM, do this:
$ npm login
$ npm whoami
$ npm test
$ npm run build
$ npm publish
MIT - see LICENSE
- Add the functionality to batch and schedule send all messages automatically, e.g. DM 10 projects every hour, and schedule send the replies to the projects' tweets too.