Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/barthofu/tscord
🤖 A fully-featured discord bot template written in Typescript, intended to provide a framework that's easy to use, extend and modify
https://github.com/barthofu/tscord
discord discord-bot discord-bot-boilerplate discord-bot-template discord-js nodejs tscord typescript
Last synced: 28 days ago
JSON representation
🤖 A fully-featured discord bot template written in Typescript, intended to provide a framework that's easy to use, extend and modify
- Host: GitHub
- URL: https://github.com/barthofu/tscord
- Owner: barthofu
- License: mit
- Created: 2020-07-28T00:25:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-19T13:02:50.000Z (3 months ago)
- Last Synced: 2024-09-28T08:41:25.647Z (about 1 month ago)
- Topics: discord, discord-bot, discord-bot-boilerplate, discord-bot-template, discord-js, nodejs, tscord, typescript
- Language: TypeScript
- Homepage: https://tscord.discbot.app
- Size: 1.67 MB
- Stars: 247
- Watchers: 3
- Forks: 19
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-discord - tscord - Create full-fletched discord.js bots from this comprehensive and documented template. (🔗 Tools)
README
[![Latest version](https://img.shields.io/github/v/release/barthofu/tscord?color=4b38ff&label=latest%20version&logo=github&logoColor=white&colorA=4b38ff&style=flat)](https://github.com/barthofu/tscord/releases/latest)
[![Build state](https://img.shields.io/github/actions/workflow/status/barthofu/tscord/build.yml?branch=main&colorB=4b38ff&colorA=4b38ff&style=flat)](https://github.com/barthofu/tscord/actions/workflows/build.yml)
![Repo size](https://img.shields.io/github/repo-size/barthofu/tscord?colorB=4b38ff&colorA=4b38ff&style=flat)
![Stars count](https://img.shields.io/github/stars/barthofu/tscord?colorB=4b38ff&colorA=4b38ff&style=flat)
# What is TSCord
#### **TSCord** is a fully-featured **[discord bot](https://discord.com/developers/docs/intro#bots-and-apps)** *template* written in [Typescript](https://www.typescriptlang.org/), intended to provide a framework that's easy to use, extend and modify.
It uses [`discordx`](https://github.com/discordx-ts/discordx) and [`discord.js v14`](https://github.com/discordjs/discord.js) under the hood to simplify the development of discord bots.
This template was created to give developers a starting point for new Discord bots, so that much of the initial setup can be avoided and developers can instead focus on meaningful bot features. Developers can simply follow the [installation](https://tscord.discbot.app/docs/bot/get-started/installation) and the [configuration](https://tscord.discbot.app/docs/bot/get-started/configuration) instructions, and have a working bot with many boilerplate features already included!
Getting started is as easy as one command
```bash
npx tscord init bot my-bot
```**[To know how to use TSCord and all its components, check the documentation here](https://tscord.discbot.app/)** ã…¤
*But TSCord is not only a Discord bot template...*
### [Dashboard](https://github.com/barthofu/tscord-dashboard)
A ready-to-use fancy dashboard for your TSCord bot
### [Website](https://github.com/barthofu/tscord-website)
Customizable static homepage for your TSCord-based bot
https://user-images.githubusercontent.com/66025667/184621486-7340157f-b7fc-44ea-94a9-03d76a99384c.mp4
### [CLI](https://github.com/barthofu/tscord-cli)
Really useful CLI meant to initialize a new TSCord project, generate files by type or even manage plugins
https://user-images.githubusercontent.com/66025667/196367258-94c77e23-779c-4d9b-8583-a29226435b07.mp4
### [Plugins](https://github.com/barthofu/tscord-plugins)
Fully extensible thanks to the plugin eco-system
## 📜 Features
Talking about features, here are some of the core features of the template:
- Advanced **handlers** for:
- Interactions (slash, context menu, button, modal, select menu, etc)
- Simple message commands
- Discord events listeners
- **Guards** functions, acting like middlewares on handlers with some built-ins:
- Rate limiter
- Maintenance mode
- Disabling command
- Guild only command (no DMs)
- NSFW only command
- Message's content match using regex
- Internal **API** to interact with the bot from external services, with built-in useful endpoints
- Multiple **databases** support out-of-the-box using [Mikro-ORM](https://mikro-orm.io/)
- **Migrations** system to keep a safe database
- **Custom events** handlers
- Advanced **error handler**
- Fully-typed **localization** (i18n)
- Local **store** to manage global state through the app
- Advanced **logger** with log files and discord channels support
- **Scheduler** for cron jobs
- Built-in rich **statistics** system
- Automatic **static assets upload** to [imgur](https://imgur.com/)This template is also developer friendly and follow strict design patterns to ease its maintenance:
- Written in **Typescript**
- Built around the **Dependency Injection** and **Singleton** patterns
- **HMR** on events and commands for a faster development
- Use of battle-tested **libraries** under the hood (*discordx* and *discord.js*)
- **Linting** and **formatting** thanks to a top-notch ESLint config
- Typesafe and validated **environment variables**
- Built-in **debugging** setup for VSCode
- Support for running with the **[PM2](https://pm2.keymetrics.io/)** process manger
- Support for running with **[Docker](https://www.docker.com/)**
- CI/CD integration with **Github Actions***and many more!*
## 📚 Documentation
### Check the [**official documentation**](https://tscord.discbot.app/) to get started and understand how to use this template.
You can also find useful documentations at:
- [discordx documentation](https://discordx.js.org/)
- [Discord.js Guide](https://discordjs.guide/)
- [Discord's developer portal](https://discord.com/developers/docs/intro)## 📢 Support
If you need support on the template or just want to exchange with us, don't hesitate to join the **[official Discord support server](https://discord.gg/GsYF4xceZZ)**!
## Roadmap
We use Github milestones for
#### [Click here](https://github.com/barthofu/tscord-template/milestones?direction=asc&sort=title&state=open) to access the milestone roadmap## 📑 License
MIT License
Copyright (c) barthofu