100DaysOfCode-twitter-bot icon indicating copy to clipboard operation
100DaysOfCode-twitter-bot copied to clipboard

Twitter bot for #100DaysOfCode

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


Retweets and likes tweets


Sends a thank-you reply to new followers


Congratulates users on starting/finishing #100DaysOfCode


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


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


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.


  • 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.
  • Fork this repository.
  • Create an .env file and add in your API keys and Twitter handle, like so:

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. :+1:
  • Make your suggested change.
  • Ensure code style follows existing code (run npm run format to apply preferred formatting).
  • Create a pull request.


BSD 3-Clause License

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