Skip to content

Commit

Permalink
v1.0 (#22)
Browse files Browse the repository at this point in the history
* Sanetize config

* Invalidate cached commands on startup

* Make config settable and gettable stored in memory

* Improve set config error message

* Upgrade packages

* Update packages and start implementing messages to config

* Start using auto-populated message context

* Work on new configuration command

* Fully add config typing

* Remove manual setting of auto-archive duration (can be done in discord ui)

* Transfer work between computers

* Add message configuration with temp outputs

* Implement auto-threading configuration

* Start implementing manual configuration

* Add more config channel creation logic

* Fix bugs and implement permissions

* Refactor and start detecting changes to post in manual config channel

* Remove manual config

For now!

* Use dotenv instead of overrideConfig

* Update readme for dotenv

* Implement permanent config storage

Needs more testing before it's complete

* Minor bug fixes

* Update deployment commands

* Add logos

* Make README pretty

Found this neat little table align trick 😮

* Catch errors on handlers

* Update discord logo

* Minor README styling changes

* Remove unnecessary dot

* Minor functionality tweaks

* Add config reset command

* Make README more responsive

* Remove image link

* Add /title command to thread create message

* Remove bloat
  • Loading branch information
MarcusOtter committed Jan 3, 2022
1 parent 4dd0f35 commit 6379ffc
Show file tree
Hide file tree
Showing 23 changed files with 757 additions and 288 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
node_modules/
dist/
configs/

overrideConfig.json
.env
61 changes: 38 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,43 @@
# Needle
Needle is a [Discord](https://discord.com/) bot that helps you manage your [Discord threads](https://support.discord.com/hc/en-us/articles/4403205878423-Threads-FAQ).

## Features
- Automatically create new threads for every message in certain channels
- Let thread owners close the automatically created threads with `/close`
- Let thread owners change the title of the automatically created thread with `/title`
- More to come :wink: Check out open [issues](https://github.com/MarcusOtter/discord-needle/issues)!

## Running the bot
<div align="center">
<h1>
Needle
<sub>
<a href="#"><img src="https://raw.githubusercontent.com/MarcusOtter/discord-needle/custom-config/branding/logo-64x64.png" height="39" width="39"></a>
</sub>
</h1>
<!--<a href="#"><img src="https://badgen.net/github/stars/MarcusOtter/discord-needle?scale=1"/></a>
<a href="#"><img src="https://badgen.net/github/license/MarcusOtter/discord-needle?scale=1"/></a>
<a href="#"><img src="https://badgen.net/github/release/MarcusOtter/discord-needle?scale=1"/></a><br/><br/>-->
Needle is a <b><a href="https://discord.com/">Discord</a> bot</b> that helps you manage your <b><a href="https://support.discord.com/hc/en-us/articles/4403205878423-Threads-FAQ">Discord threads</a></b> 🪡
<br/><br/>
<table>
<tr>
<td><a href="https://needle.gg">Website ✨</a></td>
<td><a href="https://needle.gg/invite">Invite Needle 🪡</a></td>
<td><a href="https://needle.gg/chat">Get support 💬</a></td>
</tr>
</table>
</div>

## Self-hosting
1. Clone the repository
2. Edit the `src/config.json` with API token and the IDs of the channels you want to thread every message in:
```json
{
"discordApiToken": "INSERT TOKEN",
"threadChannels": [
"CHANNEL ID 1",
"CHANNEL ID 2",
]
}
```
2. Create a file named `.env` in the root directory and insert your Discord API token:
```bash
DISCORD_API_TOKEN=abcd1234...
```
3. Run `npm install`
4. Make sure the bot has the required permissions in Discord. They are:
- `USE_PUBLIC_THREADS`
- `SEND_MESSAGES_IN_THREADS`
- `READ_MESSAGE_HISTORY`
4. Make sure the bot has the required permissions in Discord:
- [x] View channels
- [x] Send messages
- [x] Send messages in threads
- [x] Create public threads
- [x] Read message history
5. Run `npm start`
6. Done! :tada:
6. Deploy! :tada:

## Contributing
Coming soon :tm:

[Join the Discord](https://needle.gg/chat) if interested!
Binary file added branding/logo-128x128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added branding/logo-64x64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added branding/logo-full.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6379ffc

Please sign in to comment.