TJ-Bot icon indicating copy to clipboard operation
TJ-Bot copied to clipboard

Bookmark question thread command

Open marko-radosavljevic opened this issue 2 years ago • 8 comments

Is your feature request related to a problem? Please describe.

Currently, there are no ways to 'follow' a question thread to track answers to the question or have an automated way of saving a link to the question thread discussion for later review.

Describe the solution you'd like

A command such as /bookmark or /save so that the bot can DM the user with the thread link (which can be obtained from the thread ID and can be referred with <#(the threadID)>).

For saving some context about each bookmark, implementors may decide to include the first message sent by the thread author after thread creation (assumed as the main question). Issue is that question can be scattered trough 20 messages, with images etc. And since a question can often be poorly titled, having just a title is not enough.

So probably the best bet is to have an optional tag or memo option for the slash command, so users can organize their bookmark list with a personalized tag. It's searchable, and it can be used as a reminder what the question was about, thus correcting for poorly titled questions.

Describe alternatives you've considered

Manually do it.

(Originally suggested by voidcorruptor)

marko-radosavljevic avatar Sep 10 '22 14:09 marko-radosavljevic

so a slash command /bookmark with db storing bookmarks of each user is the best idea?

/bookmark add /bookmark remove /bookmark list

Taz03 avatar Oct 05 '22 09:10 Taz03

That wasnt part of the request in this issue @Taz03 . They only wanted to be able to memorize a thread in their DMs, possibly with the first message or similar directly in the DM as embed - as quick overview.

Zabuzard avatar Oct 05 '22 10:10 Zabuzard

Zabu, that's not good UX either.

The bot sends you more DMs -> you end up having to scroll for the message.

And how can you remove threads then?

I'd imagine a proper implementation would be a lot more useful. @marko-radosavljevic just created this issue because someone suggested it. I don't think the suggestion was meant to be final.

Tais993 avatar Oct 05 '22 11:10 Tais993

fair. im okay with having a list per user. so a DB table that memorizes user ID -> list of channel IDs and then a few commands to manage these (add, remove, list). UX wise, i guess users would mostly want to add threads from within the thread. while list and removal will most likely be used mostly from within DMs.

ideally all commands could be used everywhere (global) and maybe add/remove would optionally take a channel as argument, such that, if its not given, they attempt to use the current channel - or similar.

its important that all interactions with this stuff are fully ephemeral.

going with that idea, sending DMs is actually not even needed anymore. the user could use the commands anywhere, its ephemeral after all.

Zabuzard avatar Oct 05 '22 11:10 Zabuzard

I like the idea of this. My take on this idea would be to have an command that can add bookmarks and one to view them. The command to view them would not display all the bookmarked threads in one message but rather paginating them in order of activity. You would then have buttons to switch between bookmarks and remove the bookmark. The Bookmarks would also expire after like 3 days without manual intervention.

Nxllpointer avatar Oct 14 '22 14:10 Nxllpointer

Ok so I have played around with the code base a bit and I get along well with it. I have already created a command that creates and saves bookmarks. Could i be assigned to this feature? Someone just hast to check up on my SQL stuff because i have never used SQL before.

Nxllpointer avatar Oct 14 '22 19:10 Nxllpointer

Progress is looking good. I can add bookmarks and the viewer pagination is also pretty functional and i just have to round up things on that. After that im gonna add a routine to clear unneccesairy data. Should be done by monday

Nxllpointer avatar Oct 15 '22 21:10 Nxllpointer

Created a PR: #634

Nxllpointer avatar Oct 16 '22 18:10 Nxllpointer

This issue is stale because it has been open 30 days with no activity. Remove stale label, comment or add the valid label or this will be closed in 5 days.

github-actions[bot] avatar Nov 16 '22 07:11 github-actions[bot]