Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MarcusOtter/discord-needle
Needle is a Discord bot that creates Discord threads automatically.
https://github.com/MarcusOtter/discord-needle
bot chatbot discord discord-bot discord-js discordbot discordjs nodejs threads ticketing-system
Last synced: 2 days ago
JSON representation
Needle is a Discord bot that creates Discord threads automatically.
- Host: GitHub
- URL: https://github.com/MarcusOtter/discord-needle
- Owner: MarcusOtter
- License: agpl-3.0
- Created: 2021-08-20T21:15:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-29T03:32:24.000Z (3 months ago)
- Last Synced: 2024-11-05T07:11:43.556Z (5 days ago)
- Topics: bot, chatbot, discord, discord-bot, discord-js, discordbot, discordjs, nodejs, threads, ticketing-system
- Language: TypeScript
- Homepage: https://needle.gg
- Size: 1.56 MB
- Stars: 203
- Watchers: 3
- Forks: 53
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Needle
Needle is a Discord bot that helps you declutter your server by creating Discord threads automatically.
## 👋 Getting started
The easiest way to start using Needle in your server is to use the hosted instance. [Click here to invite Needle](https://needle.gg/invite) to your Discord server! If you have any questions, feel free to join the [support server](https://needle.gg/chat) and check the [Frequently Asked Questions](https://needle.gg/faq).
## 🛠️ Self-hosting (advanced)
The hosted instance of Needle is customizeable and should be enough for most users. However, if you have special requirements and want to modify the functionality of Needle, you will have to fork the repository and self-host your own instance. This requires programming knowledge and is only for advanced users - support for this will be limited.
Needle requires an environment with Node.js version `16.9.0` or higher, along with persistent storage for per-server config files - shared hosts (like Replit and Heroku) will not work.
1. Clone or download the [latest release](https://github.com/MarcusOtter/discord-needle/releases/latest) of Needle (branch: [`stable`](https://github.com/MarcusOtter/discord-needle/tree/stable)).
2. Copy `.env.example` to `.env` and fill in your bot's token and application ID.
3. Run `npm install` to install Needle's dependencies.
4. Run `npm run build` to compile Needle's code.
5. Run `npm run deploy` to setup slash commands.
- Slash commands can take **up to one hour** to show up in all servers.
6. Run `npm start` to start Needle :tada:Needle requires the following permissions to function, along with the `applications.commands` and `bot` scopes.
- [x] View channels
- [x] Send messages
- [x] Send messages in threads
- [x] Create public threads
- [x] Read message historyYou can use this link to invite your self-hosted version of Needle, replacing `` with your bot's application ID:
```
https://discord.com/oauth2/authorize?client_id=&permissions=309237713920&scope=bot%20applications.commands
```### 🐳 Docker
Needle has an [official Docker image](https://github.com/MarcusOtter/discord-needle/pkgs/container/discord-needle). Releases are tagged by their minor & patch version (e.g. `2.0.0` & `2.0`), with the latest release tagged `latest`. Branches are tagged by their name. To run the image, write the following command, replacing `token` with your bot's token:
```sh
docker run -d --name Needle --env DISCORD_API_TOKEN=token discord-needle ghcr.io/MarcusOtter/discord-needle:latest
```By default, this will create an anonymous volume for `/configs`. To change the location, add `-v /path/to/configs:/configs` to the command.
There is also an [example `docker-compose.yml` file](https://github.com/MarcusOtter/discord-needle/blob/main/docker-compose.yml).
You'll still need to deploy Needle's slash commands - follow the regular self-hosting instructions apart from step 6.
## 🤝 Contributing
Contribution guidelines coming soon :tm:
[Join the Discord](https://needle.gg/chat) if interested!
If you want to support Needle in other ways, consider [sponsoring](https://needle.gg/sponsor) the development of Needle.
You can also [vote for and review the bot on top.gg](https://needle.gg/vote).
## 📜 License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .