// Load up the Nertivia.js library const Nertivia = require("nertivia.js"); // We also load the rest of the things we need in this file: const { promisify } = require("util"); const readdir = promisify(require("fs").readdir); const Enmap = require("enmap"); // This is your client. Some people call it `bot`, some people call it `self`, // some might call it `cootchie`. Either way, when you see `client.something`, // or `bot.something`, this is what we're refering to. Your client. const client = new Nertivia.Client(); // Client Declarations client.Nertivia = Nertivia; client.config = require("./config.js"); // Require our logger client.logger = require("./modules/Logger"); // Let's start by getting some useful functions that we'll use throughout // the bot, like logs and elevation features. require("./modules/functions.js")(client); // Aliases and commands are put in collections where they can be read from, // catalogued, listed, etc. client.commands = new Enmap(); client.settings = new Enmap({ name: "settings" }); // We're doing real fancy node 8 async/await stuff here, and to do that // we need to wrap stuff in an anonymous function. It's annoying but it works. const init = async () => { // Here we load **commands** into memory, as a collection, so they're accessible // here and everywhere else. const cmdFiles = await readdir("./commands/"); client.logger.log(`Loading a total of ${cmdFiles.length} commands.`); cmdFiles.forEach(f => { if (!f.endsWith(".js")) return; const response = client.loadCommand(f); if (response) console.log(response); }); // Then we load events, which will include our message and ready event. const evtFiles = await readdir("./events/"); client.logger.log(`Loading a total of ${evtFiles.length} events.`); evtFiles.forEach(file => { const eventName = file.split(".")[0]; client.logger.log(`Loading Event: ${eventName}`); const event = require(`./events/${file}`); // Bind the client to any event, before the existing arguments // provided by the discord.js event. // This line is awesome by the way. Just sayin'. client.on(eventName, event.bind(null, client)); }); // Generate a cache of client permissions for pretty perm names in commands. client.levelCache = {}; for (let i = 0; i < client.config.permLevels.length; i++) { const thisLevel = client.config.permLevels[i]; client.levelCache[thisLevel.name] = thisLevel.level; }; // Here we login the client. client.login(client.config.token); // End top-level async/await function. }; init();
Write, Run & Share NodeJS code online using OneCompiler's NodeJS online compiler for free. It's one of the robust, feature-rich online compilers for NodeJS language,running on the latest LTS version NodeJS 16.14.2. Getting started with the OneCompiler's NodeJS editor is easy and fast. The editor shows sample boilerplate code when you choose language as NodeJS and start coding. You can provide the dependencies in package.json
.
Node.js is a free and open-source server environment. Node.js is very popular in recent times and a large number of companies like Microsoft, Paypal, Uber, Yahoo, General Electric and many others are using Node.js.
Google chrome's javascript engine V8
and is pretty fast.Asynchronous
, event-driven
and works on single-thread model
thus eliminating the dis-advantages of multi-thread model.Express is one of the most popular web application framework in the NodeJS echosystem.
let moment = require('moment');
console.log(moment().format('MMMM Do YYYY, h:mm:ss a'));
const _ = require("lodash");
let colors = ['blue', 'green', 'yellow', 'red'];
let firstElement = _.first(colors);
let lastElement = _.last(colors);
console.log(`First element: ${firstElement}`);
console.log(`Last element: ${lastElement}`);
Following are the libraries supported by OneCompiler's NodeJS compiler.