GithubHelp home page GithubHelp logo

etiket's Introduction

Etiket - Dead Simple Tags

Etiket is a simple tag bot that offers very few features execpt for its main one: Tags.

What are Tags you ask? They're bits of text that you repeat often and want to save somewhere so that you - or anyone else on your server - can call up at any time to answer frequently asked questions.

Tags can be used to provide information, contact, instructions, or on the other hand can be filled with memes and jokes and all the shitposting you want. It's up to you to determine how tags are used!

Prerequisites

Don't want to bother installing this yourself and just want to use the bot yourself? Sure, just invite it here!

Etiket runs on node.js and uses the Discord.js library. It uses a MongoDB database as a back-end.

It requires the following:

  • git command line (Windows|Linux|MacOS) installed
  • Nodejs 7.6 or higher
  • a machine to host it on. Want it to be online 24/7? Get a VPS. I suggest OVH (no there are no good free hosts).
  • A MongoDB instance. If you do not have one, there are online free ones. For testing, check out mLab which has a free sandbox option (not backed up).

Installation

In a command prompt in your projects folder (wherever that may be) run the following:

git clone https://github.com/eslachance/etiket.git

Once finished:

  • In the folder from where you ran the git command, run cd etiket and then run npm i
  • Rename config.js.example to config.js
  • Edit config.js and enter your token and other details as indicated.
  • Execute node initlangs.js. This will import all the language strings into the database.

First Start

To start etiket, in the command prompt, run the following command: node .

If at any point it says "cannot find module X" just run npm install X and try again.

Commands Reference

The following commands are available in the bot (<this> is called a placeholder and you can replace it with actual data!):

?tagname                            // Tags are accessed by prefix+tagname.

// Modifying tags is reserved for Moderator or higher.
?tag add <tagname> <Contents>       // Creates a new tag with the selected name. Can be multiple lines, markdown, etc. Currently does not support embeds and attachments
?tag rename <oldname> <newname>     // Rename existing tag
?tag edit <tagname>                 // Edit tag contents
?tag del <tagname>                  // Delete tag (cannot undo!)

// Blacklist are Moderator or higher only
?blacklist add <IDorUserMention>    // Prevents user from using bot completely
?blacklist view                     // Displays all users currently in the blacklist.
?blacklist remove <IDorUserMention> // Restores access to bot commands

// Settings are Admin/Guild owner only
?settings                           // View settings for the server
?settings edit <setting> <value>    // Edits the value of a setting for the server.
?settings reset <setting>           // Restores the global default for the settings key.
?settings add <setting> <value>     // For array settings, add a new value to the setting array (like prefixes)
?settings del <setting> <value>     // For array settings, remove the value from the settings array.

?eval <code>                        // Owner only, evals arbitrary javascript. useful for debugging/custom stuff

Permanent run and Auto-restart

To run the bot permanently, you'll need pm2

For the first run:

npm i -g pm2
pm2 start index.js --name="etiket"
  • To start the bot after a system reboot, run pm2 start etiket
  • To view the logs, just run pm2 logs etiket
  • To restart the bot, run pm2 restart etiket
  • To stop it, run pm2 stop etiket
  • To setup auto start at boot, run pm2 startup, run the snip of text that it outputs, then run pm2 save.

Support

If you need help running this bot, check the Issues pane on this repository. Support is not guaranteed,

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.