{"id":13738787,"url":"https://github.com/barthofu/tscord","last_synced_at":"2025-05-16T13:04:45.454Z","repository":{"id":37483606,"uuid":"283051584","full_name":"barthofu/tscord","owner":"barthofu","description":"🤖 A fully-featured discord bot template written in Typescript, intended to provide a framework that's easy to use, extend and modify","archived":false,"fork":false,"pushed_at":"2025-01-28T18:45:10.000Z","size":1866,"stargazers_count":292,"open_issues_count":5,"forks_count":22,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-09T07:51:33.827Z","etag":null,"topics":["discord","discord-bot","discord-bot-boilerplate","discord-bot-template","discord-js","nodejs","tscord","typescript"],"latest_commit_sha":null,"homepage":"https://tscord.bartho.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barthofu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["barthofu"],"custom":["paypal.me/barthofu"]}},"created_at":"2020-07-28T00:25:59.000Z","updated_at":"2025-05-09T04:08:06.000Z","dependencies_parsed_at":"2025-02-24T16:06:25.722Z","dependency_job_id":"3f4e4376-8ef0-415b-b6ff-018a379bf3a2","html_url":"https://github.com/barthofu/tscord","commit_stats":null,"previous_names":[],"tags_count":10,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barthofu%2Ftscord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barthofu%2Ftscord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barthofu%2Ftscord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barthofu%2Ftscord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barthofu","download_url":"https://codeload.github.com/barthofu/tscord/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535826,"owners_count":22087398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-bot","discord-bot-boilerplate","discord-bot-template","discord-js","nodejs","tscord","typescript"],"created_at":"2024-08-03T04:00:16.683Z","updated_at":"2025-05-16T13:04:45.436Z","avatar_url":"https://github.com/barthofu.png","language":"TypeScript","funding_links":["https://github.com/sponsors/barthofu","paypal.me/barthofu"],"categories":["🔗 Tools"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg height=\"450\" src=\"https://github.com/barthofu/tscord/assets/66025667/7cf87e0f-37e9-46ce-b244-dda6c45941c9\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Latest version](https://img.shields.io/github/v/release/barthofu/tscord?color=4b38ff\u0026label=latest%20version\u0026logo=github\u0026logoColor=white\u0026colorA=4b38ff\u0026style=flat)](https://github.com/barthofu/tscord/releases/latest)\n\n[![Build state](https://img.shields.io/github/actions/workflow/status/barthofu/tscord/build.yml?branch=main\u0026colorB=4b38ff\u0026colorA=4b38ff\u0026style=flat)](https://github.com/barthofu/tscord/actions/workflows/build.yml)\n![Repo size](https://img.shields.io/github/repo-size/barthofu/tscord?colorB=4b38ff\u0026colorA=4b38ff\u0026style=flat)\n![Stars count](https://img.shields.io/github/stars/barthofu/tscord?colorB=4b38ff\u0026colorA=4b38ff\u0026style=flat)\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n\n# What is TSCord\n\n#### **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.\n\nIt 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.\n\nThis 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.bartho.dev/docs/bot/get-started/installation) and the [configuration](https://tscord.bartho.dev/docs/bot/get-started/configuration) instructions, and have a working bot with many boilerplate features already included!\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\nGetting started is as easy as one command\n\n```bash\nnpx tscord init bot my-bot\n```\n\n**[To know how to use TSCord and all its components, check the documentation here](https://tscord.bartho.dev/)** ㅤ\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n*But TSCord is not only a Discord bot template...*\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"50%\"\u003e\n\n### [Dashboard](https://github.com/barthofu/tscord-dashboard)\n\nA ready-to-use fancy dashboard for your TSCord bot\n\n\u003cimg src=\"https://user-images.githubusercontent.com/66025667/191989444-5fa096ec-c74e-423d-9735-615b94bc100f.png\"\u003e\u003c/img\u003e\n\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\n### [Website](https://github.com/barthofu/tscord-website)\n\nCustomizable static homepage for your TSCord-based bot\n\nhttps://user-images.githubusercontent.com/66025667/184621486-7340157f-b7fc-44ea-94a9-03d76a99384c.mp4\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\n### [CLI](https://github.com/barthofu/tscord-cli)\n\nReally useful CLI meant to initialize a new TSCord project, generate files by type or even manage plugins\n\nhttps://user-images.githubusercontent.com/66025667/196367258-94c77e23-779c-4d9b-8583-a29226435b07.mp4\n\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\n### [Plugins](https://github.com/barthofu/tscord-plugins)\n\nFully extensible thanks to the plugin eco-system\n\n\u003cimg width=\"50%\" src=\"https://user-images.githubusercontent.com/66025667/196372599-022c6254-01a6-4f7c-bd52-06246527a8b9.png\"\u003e\u003c/img\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://discord.gg/GsYF4xceZZ\" target=\"_blank\"\u003e\n        \u003cimg width=\"17.5%\" src=\"https://user-images.githubusercontent.com/66025667/196373934-2fad8760-a58d-4b4d-ad64-b069baa71823.png\"\u003e\u003c/img\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n## 📜 Features\n\nTalking about features, here are some of the core features of the template:\n\n- Advanced **handlers** for:\n    - Interactions (slash, context menu, button, modal, select menu, etc)\n    - Simple message commands\n    - Discord events listeners\n- **Guards** functions, acting like middlewares on handlers with some built-ins:\n    - Rate limiter\n    - Maintenance mode\n    - Disabling command\n    - Guild only command (no DMs)\n    - NSFW only command\n    - Message's content match using regex\n- Internal **API** to interact with the bot from external services, with built-in useful endpoints\n- Multiple **databases** support out-of-the-box using [Mikro-ORM](https://mikro-orm.io/)\n- **Migrations** system to keep a safe database\n- **Custom events** handlers\n- Advanced **error handler**\n- Fully-typed **localization** (i18n)\n- Local **store** to manage global state through the app\n- Advanced **logger** with log files and discord channels support\n- **Scheduler** for cron jobs\n- Built-in rich **statistics** system\n- Automatic **static assets upload** to [imgur](https://imgur.com/)\n\nThis template is also developer friendly and follow strict design patterns to ease its maintenance:\n- Written in **Typescript**\n- Built around the **Dependency Injection** and **Singleton** patterns\n- **HMR** on events and commands for a faster development\n- Use of battle-tested **libraries** under the hood (*discordx* and *discord.js*)\n- **Linting** and **formatting** thanks to a top-notch ESLint config\n- Typesafe and validated **environment variables**\n- Built-in **debugging** setup for VSCode\n- Support for running with the **[PM2](https://pm2.keymetrics.io/)** process manger\n- Support for running with **[Docker](https://www.docker.com/)**\n- CI/CD integration with **Github Actions**\n\n*and many more!*\n\n## 📚 Documentation\n\n### Check the [**official documentation**](https://tscord.bartho.dev/) to get started and understand how to use this template.\n\nYou can also find useful documentations at:\n- [discordx documentation](https://discordx.js.org/)\n- [Discord.js Guide](https://discordjs.guide/)\n- [Discord's developer portal](https://discord.com/developers/docs/intro)\n\n## 📢 Support\n\nIf 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)**!\n\n## Roadmap\n\nWe use Github milestones for\n#### [Click here](https://github.com/barthofu/tscord-template/milestones?direction=asc\u0026sort=title\u0026state=open) to access the milestone roadmap\n\n## 📑 License\n\nMIT License\n\nCopyright (c) barthofu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarthofu%2Ftscord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarthofu%2Ftscord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarthofu%2Ftscord/lists"}