Giter Club home page Giter Club logo

tada-discord's Introduction

tada-discord

Build Status

The Discord Bot for dramatic entrances.


Tasklist

Necessary

  • 'Playing Status'
  • Action when user joins a voice channel
  • Play a 'noise' when user joins a voice channel
  • Play a user specific noise when a user joins vc
  • Have a way for a user to decide to not have an intro
  • Files messaged to the bot can be turned into intros by the name of the file
  • Segregating Guilds because not everyone should get everything all the time
  • Better configuration and command system
  • Entry/exit time-out to prevent spam - eg. If user joins 2 times in 5 minutes their intro will be timed out for 25 minutes. Frequency/Period/Timeout are all set per guild
  • Persistent Backend for Configuration - SQLite? RethinkDB? Something bigger?
  • Config from direct messages
  • Dockerfile w/ build
  • Deploy Pipeline

Stretch Goals

  • Rewritten commands
  • Fixing the Caching etc of sounds and intros and users - This is not the db's job
  • Intro 'debounce' no more join/rejoin shenanigans to spam your intro
  • 'Black'/'White' list for voice channels
  • Random intros, either first time or every time
  • New users or users still using the default noise are given a random set of intros

How even use?

Installation guide pending.

How even install?

  1. Requires linux-based operating system
  2. Hard dependency on an accessible RethinkDB instance - no user/pw currently supported
  3. git clone this repo
  4. cd tada-discord && npm i
  5. cp config.default.js config.production.js && vi config.production.js
  6. Fill in the blanks and/or customise that config. Necessary things to fill are the auth.client.\*, the auth.bot.token and the owner fields. Perms are optional, I apparently use "53677376"
  7. ENV=production npm start to run the bot. You can invite your bot by creating an OAuth2 link from the developer console. Go to the link you generate and add it to the server you want.
  8. I would advise running Tada with pm2. sudo npm -g i pm2 && pm2 start index.js as that way if it dies it'll ressurect and you get nice log keeping etc.
  9. Once your bot is online send it <1MB .mp3 files. It'll save them to i and make them available to set as your intro with tada-intro name-of-file-you-sent-minus-the-.mp3-bit.
  10. Make a Baby Shark intro and troll your friends (and yourself)

tada-discord's People

Contributors

cavejay avatar dependabot[bot] avatar

Stargazers

Alec Tutin avatar

Watchers

James Cloos avatar  avatar

tada-discord's Issues

Write Tests

At the very least datainterface is well positioned to have testing

Docker Image

We have a build process taking place at the moment, but the image is not completed properly

This issue is to refine the dockerfile

Guild Mods can get and set config

Let guild mods set the following settings in a similar way to the default intro:

  • Max Intro Time
  • Default Intro
  • bot prefix
  • Volume
  • role-restriction
  • Channel config
    • Disabled
    • Forced intro
    • Volume

!tada get intro broke

8:13 PM] cavejay: !tada get intro
[8:13 PM] BOTTada!: Your currently configured intro is: [object Object]

As you can see, the above is currently broken

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.