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

https://github.com/chump29/birthdaybot

BirthdayBot for Discord
https://github.com/chump29/birthdaybot

birthday bot discord

Last synced: about 1 month ago
JSON representation

BirthdayBot for Discord

Awesome Lists containing this project

README

          

# ![BirthdayBot](./utils/images/birthdaybot.webp) BirthdayBot

> - BirthdayBot for Discord

---

![Biome](https://img.shields.io/badge/Biome-^2.4.15-informational?style=plastic&logo=biome) ย 
![Bun](https://img.shields.io/badge/Bun-~1.3.14-informational?style=plastic&logo=bun) ย 
![discord.js](https://img.shields.io/badge/discord.js-^14.26.4-informational?style=plastic&logo=discord.js) ย 
![Drizzle](https://img.shields.io/badge/Drizzle-1.0.0--rc.3-informational?style=plastic&logo=drizzle)
![SQLite](https://img.shields.io/badge/SQLite-3.49.2-informational?style=plastic&logo=sqlite)

![CodeQL](https://github.com/chump29/birthdaybot/workflows/CodeQL/badge.svg) ย 
![Coverage](https://img.shields.io/badge/Coverage-95.99%25-success?style=plastic&logo=jest)

![License](https://img.shields.io/github/license/chump29/birthdaybot?style=plastic&color=blueviolet&label=License&logo=gplv3)

---

### What it does:

- Wishes user a Happy Birthday at midnight

- Gives user a specific role for their birthday

---

### ๐Ÿ”— Invite Link

[Add BirthdayBot](https://discord.com/oauth2/authorize?client_id=1507172799666458705&permissions=268453888&integration_type=0&scope=bot)

---

### ๐Ÿ–ฅ๏ธ Discord

#### Role Permissions:

| โš™๏ธ Permission |
|:-------------:|
| EmbedLinks |
| ManageRoles |
| SendMessages |

#### Commands:

| ๐Ÿ“‹ Task | ๐Ÿ”ง Command | โš™๏ธ Permission |
|:-------------------:|:-------------------------:|:-------------:|
| Add Birthday | `/birthday [month] [day]` | SendMessages |
| Delete Birthday | `/delete` | SendMessages |
| Info | `/info` | SendMessages |
| List Birthdays | `/list` | SendMessages |
| Ping | `/ping` | SendMessages |
| Wish Happy Birthday | `/wish [user]` | Administrator |

---

### ๐Ÿ› ๏ธ Environment Management

#### NPM ([Bun](https://github.com/oven-sh/bun "Bun") toolkit):

| ๐Ÿ“‹ Task | ๐Ÿ”ง Command |
|:-------:|:-------------:|
| Upgrade | `bun upgrade` |

---

### ๐Ÿ“ฆ Dependency Management

#### Installation & Removal:

| ๐Ÿ“‹ Task | ๐Ÿ”ง Command (Full) | ๐Ÿ”ง Command (Short) |
|:----------------------:|:----------------------------------------:|:--------------------------------------:|
| Install DEV | `bun install` | `bun i` |
| Install PROD | `bun install --production` | `bun i -p` |
| Add dependency | `bun add [package][@version]` | `bun a [package][@version]` |
| Add devDependency | `bun add --save-dev [package][@version]` | `bun a -d [package][@version]` |
| Add optionalDependency | `bun add --optional [package][@version]` | `bun a --optional [package][@version]` |
| Add peerDependency | `bun add --peer [package][@version]` | `bun a --peer [package][version]` |
| Add Global | `bun add --global [package][@version]` | `bun a -g [package][@version]` |
| Remove Dependency | `bun remove [package]` | `bun r [package]` |

#### Maintenance & Quality:

| ๐Ÿ“‹ Task | ๐Ÿ”ง Command (Full) | ๐Ÿ”ง Command (Short) |
|:---------------:|:----------------------:|:-------------------:|
| Check Updates | `bun outdated` | โ€” |
| Update All | `bun update` | โ€” |
| Update Specific | `bun update [package]` | โ€” |
| Security Audit | `bun audit` | โ€” |
| Package Info | `bun info [package]` | โ€” |
| Run Script | `bun run [script]` | `bun [script]` |
| List | `bun list` | โ€” |
| List Extra | `bun list --all` | โ€” |
| Hierarchy | `bun pm why [package]` | `bun why [package]` |

---

### ๐Ÿงช Development

#### Scripts:

| ๐Ÿ“‹ Task | ๐Ÿ”ง Command (Full) | ๐Ÿ”ง Command (Short) |
|:--------------:|:--------------------:|:------------------:|
| Lint All (DEV) | `bun run lint` | `bun lint` |
| Lint All (CI) | `bun run lint:ci` | `bun lint:ci` |
| Lint Biome | `bun run lint:biome` | `bun lint:biome` |
| Lint ENV | `bun run lint:env` | `bun lint:env` |
| Run DEV | `bun run dev` | `bun dev` |
| Run PROD | `bun run prod` | `bun prod` |
| Test | `bun run test` | &mdash |
| Generate SQL | `bun run sql` | `bun sql` |

---

### ๐Ÿ–ง Docker

#### Environment Variables:

| ๐Ÿ“ Description | ๐Ÿ“Œ Variable | {...} Value |
|:--------------:|:-----------:|:--------------:|
| Channel ID | CHANNEL_ID | [id] |
| DB Name | DB_NAME | birthdaybot.db |
| DB Path | DB_PATH | ./db/ |
| Debug | IS_DEBUG | true/**false** |
| Server ID | GUILD_ID | [id] |
| Logo URL | LOGO_URL | [url] |
| Bot Name | NAME | BirthdayBot |
| Role ID | ROLE_ID | [id] |
| Bot Token | TOKEN | [token] |

##### From `@postfmly/logoserver`:

| ๐Ÿ“ Description | ๐Ÿ“Œ Variable | {...} Value |
|:-----------------:|:-----------:|:-----------------:|
| IPv4/IPv6 | LOGO_IPv6 | true/**false** |
| Logo Name | LOGO_NAME | [filename] |
| Local Path | LOGO_PATH | [path] |
| Port | LOGO_PORT | **Random**/[port] |
| Logo 2 Name | LOGO2_NAME | [filename] |
| Logo 2 Local Path | LOGO2_PATH | [path] |

##### From `@postfmly/checkrate`:

| ๐Ÿ“ Description | ๐Ÿ“Œ Variable | {...} Value |
|:--------------:|:-----------:|:-----------:|
| Rate Limit | RATE | 1s |

#### Deployment:

| ๐Ÿ“œ Script | ๐Ÿ”ง Command |
|:-----------:|:-------------:|
| Full | `./build.sh` |
| Docker Only | `./docker.sh` |

---

### ๐Ÿ“„ Documentation

### Generate:

```bash
./docs.sh
```

---

### ๐Ÿ›ฐ๏ธ Git & CI/CD

- **Pre-Commit:** Staged files are automatically linted
- **Github Actions:** Builds and pushes images to repository
- latest
- amd64
- arm64