Twitter bot for #100DaysOfCode
Clone or download
Permalink
Failed to load latest commit information.
.github Move licence to root dir and change year (patch) Mar 25, 2018
__mocks__ Make promote as simpler function May 19, 2018
src update promotional links and version to match prod Jul 29, 2018
.eslintrc.js Add eslint and fix all issues May 19, 2018
.gitignore
.prettierrc Prettier prettying things 🙃 Mar 25, 2018
.snyk update snyk policy Nov 25, 2017
.travis.yml add travis config May 21, 2018
LICENSE Move licence to root dir and change year (patch) Mar 25, 2018
Procfile Update Procfile Jan 30, 2017
README.md
contributors.md update contributors list Jul 4, 2018
index.js add dotenv Feb 8, 2017
package-lock.json remove snyk from test Jun 4, 2018
package.json update promotional links and version to match prod Jul 29, 2018

README.md

100DaysOfCode Twitter Bot

Helping developers who participate in #100DaysOfCode to engage on Twitter.

License (3-Clause BSD) styled with prettier Connect with us on Slack Discord GitHub issues GitHub pull requests

follow on Twitter

Logo

Features

Retweets and likes tweets

Screenshot1

Sends a thank-you reply to new followers

Screenshot2

Congratulates users on starting/finishing #100DaysOfCode

Imgur

Tweets back encouragement if a #100DaysOfCode tweet has negative sentiment

Imgur

Tracks user interaction via LevelDB to give users daily encouragement

Uses a cron-like job scheduler to tweet 'Project of the Day'

Blacklist Spammers who abuse [#100DaysOfCode]

freeCodeCamp challenges and Help Channels (such as Slack, Discord, etc.) are merged in an API to constantly tweet links for new joiners/followers


Contributing

This bot manipulates tweets and streams by connecting to the Twitter API via the twit npm package. Please refer to the twit documentation to make substantial changes.

You can help by:

  • Solving existing issues
  • Adding more functionalities to the bot (see issues)
  • Pointing out bugs/errors

For any of the above, please create an issue so that it can be addressed. New to GitHub issues? You can familiarize yourself with them using GitHub's guide.

Setup

  • You will need your own Twitter account for testing, since the bot tweets from this account. Generate your Twitter API keys by creating a new app.
  • Generate your Sentiment API key here.
  • Fork this repository.
  • Create an .env file and add in your API keys and Twitter handle, like so:
TWITTER_CONSUMER_KEY=xxxxxxxxxxxxxxxxxxxxdMhxg
TWITTER_CONSUMER_SECRET=xxxxxxxxxxxxxxxxxxxxkFNNj1H107PFv1mvWwEM6CZH0fjymV
TWITTER_ACCESS_TOKEN=xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxecKpi90bFhdsGG2N7iII
TWITTER_ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxZAU8wNKAPU8Qz2c0PhOo43cGO
SENTIMENT_KEY=xxxxxxxxxxxxxxxxxxxx7Ev80Pacp1h0c2kjsnMVVrG5m9MNlF
QUERY_STRING=#someTestHashtag
TWITTER_USERNAME=YourTestTwitterAccountName

Make the Change

  • Change any hashtags to #someTestHashtag to avoid spamming the community hashtag.
  • Run npm/yarn test to check all keys are available before you start. 👍
  • Make your suggested change.
  • Ensure code style follows existing code (run npm run format to apply preferred formatting).
  • Create a pull request.

License

BSD 3-Clause License

Copyright (c) 2018, freeCodeCamp. All rights reserved.