Skip to content

Knowledgebase system/module #7

@sustained

Description

@sustained

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions