Git Product home page Git Product logo

pollorb's Introduction

PollOrb


Java CI with Gradle


Description

An attempt at a role managing poll bot for Discord written in Java using the JDA framework.

pollorb's People

Contributors

soarnir avatar

Watchers

 avatar

pollorb's Issues

Database

PostgreSQL database

For this issue to be considered complete, the bot should fulfil the following:

  • Static Databasemanager
  • CRUD operations
  • Tables as object representations

The following tables should at the very least exist

  • Guilds *
  • Command executions **

* Guild id, name,
** Command name, total executions, last guild use, last timestamp use

Guild config

Create a baseline guild configuration system.
Guild admins should be able to configure bot behaviour such as logging, role access (moderators & banned roles for example), the module system (eventually)

The bot must:

  • Store guild configurations in the database
  • Read guild configurations and follow said configurations
  • Update configurations if admins or allowed roles update
  • [ ]

Unit testing

The bot should have a solid test foundation, although 100% test coverage is not necessary every command should at least be tested for output based on possible input.
Foundational systems such as the command building and registering systems must be tested extensively.
The database and eventual cache system must be tested.

Contextual Requirements

A contextual requirement system would make bot access and usage require a matrix of conditions to perform.
The pairing to these contextual requirements is the command level system, see #7

Contextual requirements include:

  • users (explicitly not bots)
  • guild channels vs direct message
  • guild channels
  • roles
  • permissions (admin, role management)
  • module

Each command must be configured according to these requirements.

Create workflow

MVP: Workflow for building with gradle

Update with testing later

Command levels

Create a base set of command levels to denote minimum permissions.

  • SYSTEM Internal bot commands regulating bot function
  • DEVELOPMENT Any command exclusive to bot dev
  • ADMINISTRATIVE Any command requiring administrative guild access to invoke
  • EVERYONE Any command usable by anyone

Initial structure

Create an initial bot structure, encompassing slash and text command abstractions and a set of basic commands utilizing these features.
The directory structure should not be considered "initial" until this issue is closed.
Testing is not necessary for this issue, that will come separately, but the bot should build on a baseline gradle level.
The bot needs a basic config system integrated in the filesystem, likely using gson for this
Although not bundled with one, the bot should be capable of storing and reading data from a PostgreSQL database.
Caching will come later but is a hard requirement.

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.