Giter VIP home page Giter VIP logo

accomplice-v2's Introduction

Accomplice V2

Discord Leaderboards and Starboards done right

TODO & Issues

https://trello.com/b/3e2lA442/accomplice-v2

Commands (Complete)

  • /debug - Debug commands for the bot, tied to owner snowflake id.
    • show-timers - Shows all timers stored in memory.
    • clear-timer - Clears a timer from memory and stops it.
    • eval - Evaluates a string of code.
    • eval-sql - Evaluates a string of SQL code.
    • show-stats - Shows bot stats.
  • /invite - Makes the bot reply with an invite link and correct permissions.
  • /leaderboard - Leaderboards display the top reacted users in your guild using Trackers. Leaderboards are different from starboards.
    • create (delete-user-messages?, default-tracker-timeout?) - Creates a Leaderboard.
    • destroy - Destroys a Leaderboard.
    • track (is-default?) - Assigns a Tracker to a Leaderboard. You may have a Tracker on multiple Leaderboards and Starboards.
    • untrack - Removes a Tracker from a Leaderboard.
    • trackers - Shows all Trackers associated with a Leaderboard.
    • list - Shows all Leaderboards on the guild.
  • /ping - Makes the bot reply with pong.
  • /tracker - Trackers are used to track reaction events.
    • create - Creates a reaction Tracker.
    • destroy - Destroys a reaction Tracker and removes it from all Leaderboards and Starboards.
    • list - Shows all Trackers on the guild.

Commands (Incomplete)

  • /leaderboard
    • synchronize (channel?) - (guild admin) Removes all indexed message states for the guild and re-gathers it. Useful if data is incorrect.
  • /priority - Configures guild priority. High priority guilds are serviced first under load.
    • set - Sets a guild as priority.
    • remove - Removes a guild from priority.
    • list - Lists all priority guilds.
  • /starboard - Starboards watch for a specific amount of reactions using Trackers, then mirror messages in a dedicated channel.
    • create - Creates a Starboard.
    • destroy - Destroys a Starboard.
    • list - Shows all Starboards on the guild.
    • trackers - Shows all Trackers associated with a Starboard.
    • track - Assigns a Tracker to a Starboard. You may have a Tracker on multiple Starboards and Leaderboards. You may have multiple Trackers on a Starboard.
    • untrack - Removes a Tracker from a Starboard.

Features

  • Certain data is cached in memory using Redis for better responsiveness
  • Scalable, more instances may be created to scale out when under load
  • Configurable, built out of the box to be configurable
  • Leaderboards
  • Starboards

Leaderboards

Leaderboards are a way to track the top reacted users in your guild. Leaderboards are different from Starboards. Leaderboards are not tied to a specific reaction or emojji, and can track multiple reaction types. You may only have one Leaderboard per channel.

  • Unlimited Leaderboards per guild
  • Leaderboards can track multiple reaction types
  • Leaderboards update automatically
  • Leaderboards are configurable:
    • Amount of users displayed on Leaderboard
    • Ignoring reacts from bots
    • Ignoring reacts to bots
    • Ignoring self reacts
    • Automatically deleting messages in Leaderboard channels
    • Automatically switching the Leaderboard embed back to the default Tracker after a certain amount of time (default 2 minutes)

Starboards

Starboards are a way to mirror messages in a dedicated channel after a certain amount of reactions. Starboards are different from Leaderboards. Starboards are tied to a specific reaction or emojji, and can only track one reaction type. You are however, able to have multiple Starboards per channel.

  • Unlimited Starboards per guild
  • Starboards can only track one reaction type
  • Messages that are mirrored in the Starboard channel are updated automatically to reflect the latest state of the message
    • If they fall below the threshold, they are removed from the Starboard channel
  • Starboards are configurable:
    • Amount of reactions required to mirror a message
    • Ignoring reacts from bots
    • Ignoring reacts to bots
    • Ignoring self reacts
    • Automatically deleting messages in Starboard channels

accomplice-v2's People

Contributors

maxwlang avatar

Watchers

 avatar

Forkers

blkluv

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.