GithubHelp home page GithubHelp logo

discord-wiki-bot's Introduction

WikiBot

A bot to help your Discord server users with some frequently asked questions or common topics.

Deployment

You can add already deployed bot to your server from wikibot.manukyan.dev.

Installation

Local or docker-compose

WikiBot requires Python 3.7+ and has few external dependencies:

  • PostgreSQL - for storing data such wiki topics or joined guilds
  • Reids - for storing analytics data

For quick start you can use provided docker-compose file to start-up a ready to go environmet. But before you have to setup some environment variables. An easy way to do it is to copy sample.env to .env and set all required variables:

cp sample.env .env

After that you can use:

docker-compose up -d

It's highly recommended to use DISCORD_DEV_GUILD_ID environment variable. Otherwise all slash commands will be registered as global which are cached in Discord for one hour, so for any change you have to wait at least an hour.

Kubernetes

You can deploy WikiBot to your Kubernetes cluster.

Requirements

You need few external tools to deploy to your cluster:

  • ytt - for config templating
  • kapp - for deployment

Also, you have to copy sample-values.yml to values.yml and edit the appropriate values.

Deploying

To deploy, run:

ytt -f deploy -f values.yml | kapp deploy -a wikibot -n wikibot -y -f -

It will render templates and deploy to wikibot namespace.

discord-wiki-bot's People

Contributors

mike1808 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

discord-wiki-bot's Issues

.env EMAL and FROM_EMAIL inverted?

What server?
config .env file

What did you do? Please include the commands and links to messages if
possible.

It seems like the following variables are inverted.
WIKIBOT_SMTP_FROM_EMAIL=
WIKIBOT_SMTP_EMAIL=

What did you expect to happen?
WIKIBOT_SMTP_FROM_EMAIL= [email protected]
WIKIBOT_SMTP_PASSWORD = mypassword
This gives a password incorrect

WIKIBOT_SMTP_EMAIL= [email protected]
WIKIBOT_SMTP_PASSWORD = mypassword
This gives no error.

Add option to drop entire wiki table

The problem you want to solve.
When you make an error in the key that doesnt pass the regex in the bulk uploaded csv, there is no way to remove that entry and the system seems to break.
Only way i could fix was to manually drop my postgres table.

Your take on the correct solution to problem.
Add option WITH WARNING to drop entire wiki
Also, might be good to add somewhere in the documentation that the group and key should be 1 word as the bulk update doesnt check on it.

Add `.` aliases to wiki topics

The problem you want to solve.

Typing dot alias is much faster if you know what you are looking for than searching through the slash commands prompt.

Your take on the correct solution to problem.

Allow to add . alias to some wiki topics, so when .alias is typed it triggers the same response from wiki command.

Add in /wiki-help that people shouldnt reply to this message or make the 'wiki-help' show in channel visible to just user.

The problem you want to solve.
Current help message is a private message.
However, when you want the answer to the wiki item, you have to type the text in another channel; this is counter intuitive

Your take on the correct solution to problem.
2 solutions;

  • a clear text that wiki commands only work in the channel
  • have the wiki-help text show up in the channel it is typed as 'visible only to user'

Help command fails when there are many added topics

What server?

Any

What did you do? Please include the commands and links to messages if
possible.

Add so many commands that the help message content is longer than 1024 bytes.

What did you expect to happen?

See help

What actually happened?

Nothing, and error is shown in the logs that you cannot send PMs longer than 1kb.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.