/twitterbot-nodejs

[Bot] A twitter bot made using nodejs which can post tweets, retweet other tweets and possibly fav tweets

Primary LanguageJavaScriptApache License 2.0Apache-2.0

TwitterBot-NodeJS

Show some ❤️

GitHub stars GitHub forks GitHub watchers GitHub followers
Twitter Follow

Yeah it pretty much does what it says in the title. Its a twitter bot which can post tweets, retweet other tweets and possibly fav tweets.

This is a simple bot , to build which I had to go through a lot of information on the internet possibly because it wasn't updated/consistent. Plus I wanted to learn how build a bot anyhow ;)

Currently active bot using the same code is GDGND Bot. Hopefully it helps some other people who want to build their own bot.

Simple.Easy.Cute (Ok, last one didnot go with the flow..)

It attempts to retweet once per hour

Installation

  • Install Node.js

  • Clone this repo

       git clone https://github.com/nisrulz/twitterbot-nodejs.git
  • Run

     npm install

    It will install Twit, the library that lets us talk to Twitter.

Connecting to Twitter

  1. Register a Twitter account and also get its "app info".

    Twitter doesn't allow you to register multiple twitter accounts on the same email address. I recommend you create a brand new email address (perhaps using Gmail) for the Twitter account. Once you register the account to that email address, wait for the confirmation email.

  2. Now go here and log in as the Twitter account for your bot:

  3. Fill up the form and submit.

  4. Next once the submission completes you will be taken to a page which has the

    • "Settings" tab : Update details here
    • "Permissons" tab : Enable Read and Write
    • "Key and Access Token" tab : Click on Create my access token.
  5. Use the generated tokens in the "Key and Access Token" tab to fill the fields under the config.js file in your app directory. It should look like this:

    module.exports = {
      consumer_key:         'blah',
      consumer_secret:      'blah',
      access_token:         'blah',
      access_token_secret:  'blah'
    }
  6. Update the code under bot.js , with the your values. Best of all modify the code, tinker with it.

  7. Now type the following in the command line in your project directory:

    node bot.js

Hopefully at this point you see a message like "Success! Check your bot, it should have retweeted something." Ok it won't say that, you have to code that in. Its simple as

console.log("Success! Check your bot, it should have retweeted something.");

Check the Twitter account for your bot, and it should have retweeted a tweet with the provided hashtag.

Whats Next

You might want to push this app to a running server , probably heroku.

Note : Heroku servers would go back to sleep if there is no activity after some time, so you can have a look at Kaffeine , to keep your server active.

Do not misuse the twitter api to spam or burden the server load for twitter api , as twitter follows a strict rule of closing down accounts that do that. Please read here for the rules

Contribute

  • Star - If you like it
  • Fork - If you like to build your own version
  • File an issue - If you found a bug
  • Send a pull request - If you want to contribute

Credits

Twit Library

If you appreciate my work, consider buying me a cup of ☕ to keep me recharged 🤘 [PayPal]

License

Copyright 2016 Nishant Srivastava

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.