Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/leomotors/cocoa-discord

Yet another Discord Bot Utility npm package
https://github.com/leomotors/cocoa-discord

discord-bot discordjs npm-package slash-commands

Last synced: 2 months ago
JSON representation

Yet another Discord Bot Utility npm package

Awesome Lists containing this project

README

        

# Cocoa Discord

[![](https://img.shields.io/npm/v/cocoa-discord.svg?maxAge=3600)](https://www.npmjs.com/package/cocoa-discord)
[![](https://img.shields.io/npm/dt/cocoa-discord.svg?maxAge=3600)](https://www.npmjs.com/package/cocoa-discord)
[![](https://github.com/Leomotors/cocoa-discord/actions/workflows/caffemocha.yml/badge.svg)](https://github.com/Leomotors/cocoa-discord/actions)

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

- [Cocoa Grader](https://github.com/Leomotors/cocoa-grader)

- [Harunon JS](https://github.com/CarelessDev/harunon.js)

- [Bots Gulag](https://github.com/CarelessDev/bots-gulag)

If you wish for examples, see above repositories

## โœ๏ธ Templates

Templates are available at /templates

You can use [degit](https://www.npmjs.com/package/degit) to clone the template

Example:

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

## ๐Ÿ“š Documentation

- Doc & Guide: [LINK](https://cocoa.leomotors.me)

**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 ใ”ๆณจๆ–‡ใฏใ†ใ•ใŽใงใ™ใ‹๏ผŸ`

![](https://c.tenor.com/82-e-VM5qNwAAAAC/gochiusa-cocoa.gif)

_nigerundayo... Smokey!_ โ€” No one said

Anime Name: [Is the Order a Rabbit?](https://myanimelist.net/anime/21273/Gochuumon_wa_Usagi_Desu_ka)

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