Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Knowledgebase system/module #7

Open
sustained opened this issue Sep 1, 2019 · 2 comments
Open

Knowledgebase system/module #7

sustained opened this issue Sep 1, 2019 · 2 comments
Labels
status: Awaiting Input It needs input from other contributors. type: Discussion Something which needs discussion.
Milestone

Comments

@sustained
Copy link
Collaborator

sustained commented Sep 1, 2019

I dare not even count the amount of times I've seen someone take the time to craft a wonderful message, explaining how to solve some issue, or approach some problem. In some cases, these messages can end up being better than even the excellent official docs themselves!

Now imagine, what if we could:

  • save such a message in some kind of database, or rather "knowledgebase"
  • assign tags/keywords to it
  • recall/retrieve said messages later on
    • either in a channel
    • or to/at a specific user (instruct it to DM them)
  • search by author, keyword, article text etc.
  • star/save our favourite knowledgebase articles and have the bot remember them
  • optionally ensure that edits to the message are detected/picked up!
  • ensure that an author deleting a message doesn't mean we lose our knowledgebase entry!

And the use-cases are many.

For example, this is a very common exchange to see on the server:

<User A> Hello, I need help - here is an unformatted code dump.

<User B> My eyes!

<User C> 👀

<User D> Could you please format your code?

<User C> Yes, please.

<User A> How do I do that?

<User B> You can use backticks.

<User C> You do it like this:

```js
// JavaScript goes here.
```

And you can change js to css, html etc. if you need to!


Now imagine the alternative:

<User A> Hello, I need help - here is an unformatted code dump.

<User B> !kb code-formatting @User A

(Bot sends User A a Direct Message explaining how to format code.

Imagine how much time, effort, bandwidth etc. we'll save!

I actually created such a system before for a bot on a server I used to admin at. It used Discord.js and Discord.js-Commando, even.

The data was stored in MongoDB (I regard it as a mistake).

If I was going to remake such a system, I would likely use Postgres and JSONB columns.

I'd be happy to undertake this feature.

@sustained
Copy link
Collaborator Author

sustained commented Sep 1, 2019

Of course it is probably better to use this system for storing good/useful messages that contain actual knowledge and to keep the !kb code-formatting example as a separate command (e.g. !code, like in #1).

It was just an example of the versatility of such a system.

@sustained sustained added type: Proposal / RFC Something which needs input gathering on. type: Discussion Something which needs discussion. status: Awaiting Input It needs input from other contributors. and removed type: Proposal / RFC Something which needs input gathering on. labels Sep 29, 2019
@ZainW
Copy link

ZainW commented Sep 30, 2019

If you keep the commands intuitive it would be easier to use and remember. whatever solution it comes to be the net result of thinking of the command , and writing it should be faster than someone trying to explain it

ie !cli brings up docs for vue cli where it explains everything about vue cli
!code-help instructs people to show code and how to format it etc.

if you make it annoying for people to use people wont use it

@sustained sustained added this to the Future milestone Jan 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: Awaiting Input It needs input from other contributors. type: Discussion Something which needs discussion.
Projects
None yet
Development

No branches or pull requests

2 participants