MarcusOtter / discord-needle

Needle is a Discord bot that creates Discord threads automatically.
https://needle.gg
GNU Affero General Public License v3.0
203 stars 53 forks source link

💡 Add ability to bump threads #7

Open MarcusOtter opened 3 years ago

MarcusOtter commented 3 years ago

Threads can pretty easily get lost and die out or never get an answer at all. You can't really bump in autothreaded channels since this will just create a new thread. It would be nice to give users some way of bumping a thread after a certain amount of time if they haven't received any replies in say 24h.

FredKSchott commented 3 years ago

A daily summary of open threads posted to the main channel would be cool:

Here's a summary of all open threads:
- Thread 1
- Thread 2
- Thread 3

/cc @some-role-to-ping
MarcusOtter commented 3 years ago

Discord already has a view like this called "Active Threads" that is apparently only for users that have a role with the Manage Threads permissions (why not give this to everyone?!)

It looks like this: image image

I wonder if maybe it would be a good idea to let the bot have it's own channel that would mimic this behavior? Keep a semi-updated channel with all the active threads, perhaps coupled with keyword recognition (https://github.com/MarcusOtter/discord-auto-threader/issues/4#issuecomment-911974510) should make it pretty searchable and easy to find. Definitely one of the bigger features to create, and would add some overhead when it comes to being ratelimited (keeping track of all messages in all threads of all servers).

MarcusOtter commented 2 years ago

The bot has changed quite a bit since this issue was opened, but I still think bumping threads is a good thing to allow. The options could be Never, every 6 hours, Every 12 hours, Every day, Every 3 days, or something like that. Bumping should probably just add another emoji (just like #8) which could be removed when another user posts in the thread.

I suspect that we may have to store information on a per-thread basis for this though :/ Maybe we can think of something. Maybe we base the timer off of how long ago it was that someone (that is not the user) wrote in the thread?

Snailedlt commented 2 years ago

How about having a bump command that only works in threads, and after the thread has been inactive for a set amount of time?

Maybe also a bump command which works anywhere the bot has permission, which takes a thread reference as parameter, and bumps that thread.

So how should a thread be bumped? Imo the best way would just be for the bot to reply to that thread, and saying something like This thread has been inactive for a while, and has just been bumped. This message should also be customizable so it fits different usecases. Maybe with a config bump message command