Skip to content
/ twreach Public

A human-aided Twitter outreach bot. Improve your Twitter outreach efficiency by 100x.

License

Notifications You must be signed in to change notification settings

0xYao/twreach

Repository files navigation

twreach CLI

A human-aided Twitter outreach bot. Improve your Twitter outreach efficiency by 100x.

Development

Setup the Environment

  1. Copy the environment variables: cp .env.example .env
  2. Install the project dependencies: yarn
  3. Setup the command line binary: yarn link
  4. Spin up the database: yarn postgres:start
  5. Migrate the db schema: yarn migrate:dev

Setup the Twitter App

Note: you need to manually apply for elevated access if your Twitter App doesn't have it already.

  1. Create or access the Twitter App from the developer portal. Copy and paste the API key and API key secret to .env.
  2. Setup your user authentication settings from the "Settings" tab, select the OAuth 1.0a and choose Read and write and Direct message for the App permissions.
  3. Use any valid urls e.g. http://localhost:3000/auth_callback, and any valid urls with https scheme for the "Website url", e.g. https://yourwebsite.com.
  4. 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.

Add the Prospects to DB

  1. 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)
  2. 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

Running the project

  1. cp src/templates/custom-impl.ts src/tmp/custom-impl.ts, and update the methods such as getDMVariations per your needs.
  2. 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.)

Assumptions

  • 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

Common Errors

  • Elevated access is required: the Twitter App needs elevated access to DM people.
  • command twreach is not found: try ./bin/twreach instead.

Customizing your CLI

Check out the documentation at https://github.com/infinitered/gluegun/tree/master/docs.

Publishing to NPM

To package your CLI up for NPM, do this:

$ npm login
$ npm whoami
$ npm test

$ npm run build

$ npm publish

License

MIT - see LICENSE

Todos

  1. 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.

About

A human-aided Twitter outreach bot. Improve your Twitter outreach efficiency by 100x.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published