const dotenv = require("dotenv"); const fs = require("fs"); const minimist = require("minimist"); const path = require("path"); const Twitter = require("twit"); const args = minimist(process.argv.slice(2)); const helpText = `USAGE: node index.js [options] Options: --env-path, -e path to environment file (default: ./.env) --help, -h show this help message and exit`; if (args["help"] || args["h"]) { console.log(helpText); process.exit(); } const envPath = args["env-path"] ? args["env-path"] : "./.env"; dotenv.config({ path: envPath }); const keys = { consumer_key: process.env.TWITTER_CONSUMER_KEY, consumer_secret: process.env.TWITTER_CONSUMER_SECRET, access_token: process.env.TWITTER_ACCESS_TOKEN_KEY, access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET, }; const tlds = require("./tlds"); const words = fs .readFileSync(process.env.DICTFILE, "utf-8") .split("\n") .filter((word) => /^[a-zA-Z]+$/.test(word)) .map((word) => word.toLowerCase()); const randomItem = (list) => { return list[Math.floor(Math.random() * list.length)]; }; const tld = randomItem(tlds); const word = randomItem(words); const twitter = new Twitter(keys); twitter.post("statuses/update", { status: `${word}${tld}` }, function( err, data, response, ) {});