Skip to content

leomotors/cocoa-discord

Repository files navigation

Cocoa Discord

Yet another Discord Bot Utility npm package

✨ Features

  • Many utilities that made by me for me to make my bots

  • Utilities that will help you reducing lines of code

  • Automatic Activity Presence Management from Files

  • Command Management (Message and Slash) System

  • many more miscellanous utilities that my bots rely on

  • Made for TypeScript

  • Flexible, because this is not a framework, part of your bot can be constructed using pure discord.js API

🛍️ Subpackages

Many utilities are classified into many subpackages

NOTE: You need to use the very new version of node.js (16.9+) as it is requirement of discord.js

/

Miscellanous, consists of many utility classes

/meta

Info Stuff, ex. Utils Version, Device Info, etc.

/message

Message Command Management

/slash

Slash Command Management

/template

Frequently used stuff

/internal

As the name suggests, you should avoid touching this subpackage

/message/class & /slash/class

To use Class Cog (with Decorators like discord.py), import them from /message/class or /slash/class.

TypeScript is required to use Decorators.

Note: Command Management is inspired by discord.py's cogs system. There are two implementations, one that are different, focuses on concept of one function per file. And the other one, that is more like discord.py's cogs.

✍️ Discord Bots that use this Package a.k.a. Examples

If you wish for examples, see above repositories

✏️ Templates

Templates are available at /templates

You can use degit to clone the template

Example:

npx degit leomotors/cocoa-discord/templates/slash-only my-bot

📚 Documentation

Note: For runtime safety, please use TypeScript or activate @ts-check on JavaScript.

To use generic type and decorators (Cog Class Syntax), TypeScript is required.

Tips: Always use await with any async methods, so try-catch works.

🍫 What is Cocoa?

Cocoa may have many meanings, but the name Cocoa / ココア that is used in this package as well as cocoa-grader refers to Cocoa Oneechan 保登心愛 from ご注文はうさぎですか?

nigerundayo... Smokey! — No one said

Anime Name: Is the Order a Rabbit?

PS. This library has nothing to do with Cocoa (besides targeting Cocoa Grader which is just Waifu Discord Bot)