Coder Social home page Coder Social logo

stasi's Issues

/case tip

/case tip command which prints a random tip about the justice system

Motion.Describe()

Dynamically describe what a motion does, so that it can be called when filling in /case vote and motion in consideration pages on /case info

Error logging

Remake how errors are logged utilizing new logging module

Timezone awareness

from datetime import datetime
import pytz

# Replace 'timezone_name' with the desired timezone name (e.g., 'America/New_York')
timezone_name = 'timezone_name'
tz = pytz.timezone(timezone_name)

# Get the current time in the specified timezone
now = datetime.now(tz)
print(now)

Include more dynamic timestamps

def discord_dynamic_timestamp(dt, format_char=None):
    """
    Convert a datetime object to a Discord dynamic timestamp.

    Format options:
    - None: Default format
    - 't': Short time format (e.g., '16:20')
    - 'T': Long time format (e.g., '16:20:30')
    - 'd': Short date format (e.g., '20/04/2023')
    - 'D': Long date format (e.g., '20 April 2023')
    - 'f': Short date and time format (e.g., '20 April 2023 16:20')
    - 'F': Long date and time format (e.g., 'Thursday, 20 April 2023 16:20')
    """
    if dt.tzinfo is None:
        dt = dt.replace(tzinfo=timezone.utc)
    unix_timestamp = int(dt.timestamp())

    if format_char is None:
        return f'<t:{unix_timestamp}>'
    else:
        return f'<t:{unix_timestamp}:{format_char}>'

Unban Requests

Bots should be DM'able no matter what, take advantage of this to create a ban appeals system

`/case admin` commands

/case admin addjuror
/case admin remjuror
/case admin jurors
/case admin strikemotion
/case admin strikecase

Add more transparency to prison cog

  • Dm user when they get prisoner with information and /sentence explainer
  • Make more embeds as responses to prison cog commands
  • Add prison slash command category for organization (prison / prisoner groups?)
  • Add more logging

Case.Draft(ctx)

Instead of having the logic in a command, have a Case.Draft() function which a slash command calls, which then guides the user through the process of filing the motion, than calls New() on itself.

Live Interview Reader

  1. create a message in the logs channel
  2. save message in interviewer memory
  3. update as interview proceeds so it may be updated in real time
  4. update one last time when final verdict is given

Allow subtle manual judgement

An an option to override a verdict before the interview is done.

This will let the interview end naturally (unlike bypass) but overrides the resolution code.

Motion.Hint

class-level hint that describes what a motion does

class AdjustPenaltyMotion(Motion):
    Hint = "Adjust the penalty of a guilty verdict"

/case evidence edit

If you are evidence owner, you can just edit a piece of evidence.

If you are not, this will file a motion.

  • Withdraw Evidence
  • Seal Evidence
  • Edit Alt text
  • Void evidence seal

Maybe make a motion editor cmui function to avoid repeating code in at least 2 spaces

  • When Initially Filing a Motion, before confirmation
  • When this function is called

Log Channel Categories

Create different config entries for different log categories:

  • Vetting
  • Cases (Public)
  • Cases (Admin Only)
  • Warrants (Public and Admin-Only)

Replace Mee6

Mee6 currently performs the following functions which need to be replicated within the bot:

  • Leaderboard System
  • Greeting Users and posting a message when users leave
  • Role memory

Role Memory

The bot should save your roles when you leave the server, and reassign them when you join the server. If you're joining for the first time it should issue the "unverified" role.

  • Save Roles on User Leave
  • Restore Roles on User Rejoin
  • Integration with mute/warrant system
  • Unverified role

"main" loglevel

Create a main log type for logging

  • Startup information
  • Runtime errors

Penalty Editor

async function which takes a list of penalties and creates a menu for the user to edit, and then returns the edited list of penalties.

Used when filing cases or using penalty adjustment motions.

Prisoner List Command

/sentence list maybe?

Simply produce a list of prisoners currently in the database

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.