/fuwa.js

The new way to create Discord bots.

Primary LanguageTypeScriptMIT LicenseMIT

The new, simple, and easy way to create progressive Discord bots.

Notice

Refactoring on branch @next

This branch will be depreaded soon...

Table of Contents

Features

  • โ˜•๏ธ | Express-like syntax
  • ๐Ÿ“ฆ | Lightweight (only two dependencies)*
  • ๐Ÿ”จ | Built-In Command Handler & Parser
  • ๐ŸŒŽ | Safe (complete runtime safety for your bot.)
  • โšก๏ธ | Blazing Fast
  • ๐Ÿ“‚ | Customizable Cache

* Excluding Peer (and of course) development dependencies

Quickstart

This assumes you have already setup a discord bot application in Discord. See

๐Ÿ“ - Create a new Nodejs project

Run this in your Powershell, command prompt, terminal, console or whatever you call it:

$ npm init -y

๐Ÿ“ฆ - Installing Fuwa.js

$ npm i fuwa.js

The Full version for increased speed (better for production)

$ npm i fuwa.js erlpack utf-8-validate bufferutil

* Note: you need python installed & a C++ compiler on your computer, server, or VM before you can use erlpack. To learn more, please visit node-gyp

Coding your bot

Create a file called index.js using the method bellow, or your method of choice for creating files

$ echo > index.js

Open index.js in your IDE or text editor of choice and copypaste this code

const { Client } = require('fuwa.js');

const client = new Client('?'); // Your bot prefix here

// Runs when the bot turns on
client.on('ready', () => console.log('I am alive!'));

client.command(['hi', 'hello'], (req, res) => {
    res.reply(`Hello there, my name is ${client.bot.username}!`);
});

// replace with your bot token
client.login('<your bot token>');

Make sure to replace <your bot token> with your actual bot token!

๐Ÿงช - Test it out

Run your bot using

$ node index.js

and add your bot to a discord server and type ?hi or ?hello in any visible channel. It should respond with Hello there, my name is <bot name>!

Useful links

Check the docs for reference. For more in depth docs go to our website!

Follow the tutorial for a ground up approach.

Join our discord to interact with our community and ask questions!

If you find any bugs please post them to our issues and we'll respond ASAP.