GithubHelp home page GithubHelp logo

jay3332 / js-cord Goto Github PK

View Code? Open in Web Editor NEW
14.0 1.0 3.0 2.47 MB

js-cord is a wrapper around the Discord API, written and to be used in Javascript.

License: MIT License

JavaScript 100.00%
js javascript discord

js-cord's Introduction

js-cord

js-cord

An API wrapper for Discord, made using JavaScript.


Why js-cord?

I tend to use Python more for developing Discord Bots because the API wrapper for Python (discord.py) has more features than the conventional discord.js. This wrapper fixes that, with built in command handling, pagination, debugging, and so much more.

Table of Contents

Useful Links

Features

It is obvious that this all isn't true. These are what we plan for js-cord to achieve.

  • 100% API coverage
    • Discord interaction support
      • Slash commands, message components
    • Voice send/receive support
    • Easy to use webhook support
  • Extensive documentation
  • Built-in plugins
    • Advanced command handing
      • Easy to implement built-in commands
      • Argument and flag parsing
      • Easy error handling
    • Menus and paginators

Installation

js-cord is still in it's beta stage, therefore installing from NPM will install an older, ineffective version of js-cord.
For now, please install js-cord by cloning this repository.

You can install js-cord using npm:

Currently npm install @jay3332/js-cord until further notice.

$ npm install js-cord

Or, if you want the latest features, clone this repository directly:

$ npm install git+https://github.com/jay3332/js-cord

Examples

In all of these examples, we assume you have already created a bot and have it's token ready.

Basic Bot

const discord = require('js-cord');
const client = new discord.Client();

client.on('ready', () => {
    console.log(`Logged in as ${client.user}`)
});

client.on('message', async (msg) => {
    if (msg.content === 'ping') {
        await msg.reply('Pong!');
    }
});

client.login(process.env.TOKEN);

Built-in command handler

// Can also be accessed via discord.plugins.commands
const { plugins: { commands } } = require('js-cord');
const bot = new commands.Bot({ prefix: '$' });

bot.on('ready', () => {
    console.log(`Logged in as ${bot.user}`);
});

bot.command('ping', async (ctx) => {
    await ctx.reply('Pong!');
});

bot.login(process.env.TOKEN);

Ending it off

You can join our support server for help - or consider reading our docs for reference.

There are also plenty of guides on certain topics.

Credits

Contributors

Owner:
Contributors:

js-cord's People

Contributors

cats3153 avatar jay3332 avatar mrkomododragon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

js-cord's Issues

Before you try anything...

Most of this isn't completed yet, and this library is currently broken (wip and things aren't connected yet), just a heads up if you want to actually use this. I'll notify you when it's complete though!

Licensing concern about one of your files

Hello!

I'm Vlad, one of the owners of Sapphire. It was brought to our attention that one of the files in this repository (https://github.com/jay3332/js-cord/blob/rewrite/js-cord/core/Queue.js) is a 1:1 copy of our already published module @sapphire/async-queue (with it's source code located at https://github.com/sapphiredev/utilities/blob/main/packages/async-queue/src/lib/AsyncQueue.ts, where your code has extremely minor changes like removing documentation).

We'd like to ask you kindly to either use our module (npm i @sapphire/async-queue), or add the appropriate license header (either in a THIRD_PARTY_LICENSES.md file, a license header comment at the top of the Queue.js file, or in the repository's LICENSE.md file). The license itself is available at https://github.com/sapphiredev/utilities/blob/main/LICENSE.md, and applies to all packages, including async-queue.

If you have any other questions, please feel free to ask them!

Thanks,
Vlad.

Add typings

This will help support autocompletion, so this should be done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.