Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] Warn System #32

Open
mctaylors opened this issue May 11, 2023 · 13 comments · May be fixed by #274
Open

[Request] Warn System #32

mctaylors opened this issue May 11, 2023 · 13 comments · May be fixed by #274
Assignees
Labels
type: feature Features and feature requests.

Comments

@mctaylors
Copy link
Member

can you add a !warn <user> <reason> command and add the settings WarnLimit, WarnPunishment and WarnPunishmentLength?

WarnLimit is an integer that is responsible for the maximum number of warnings before punishment
WarnPunishment is a integer that is responsible for the type of punishment. (0 - disabled, 1 - mute, 2 - kick, 3 - ban)
^^^ if possible, it is better to implement it better
WarnPunishmentLength is a TimeSpan that is responsible for the duration of the punishment by default

@mctaylors
Copy link
Member Author

maybe also add some settings like WarnResetAfterPunishment, WarnResetAfterTime

WarnResetAfterPunishment is a boolean that is responsible for resetting warns after punishment
WarnResetAfterTime is a TimeSpan that is responsible for resetting warns after time that was specified in that setting

@mctaylors
Copy link
Member Author

default settings is:

WarnLimit is 3
WarnPunishment is 0
WarnPunishmentLength is 0
WarnResetAfterPunishment is true
WarnResetAfterTime is 0

@mctaylors
Copy link
Member Author

mctaylors commented May 11, 2023

WarnResetAfterPunishment is a boolean that is responsible for resetting warns after punishment

because of that, we should add !warnreset <user> <reason> <warnsCount>
<warnsCount> is an optional (by default 0) integer flag that is responsible how many warns to remove (0 - all)

and if WarnResetAfterPunishment is set to false and the warnings have reached their limit (WarnLimit), do not punish until the user receives a new warn

@mctaylors
Copy link
Member Author

mctaylors commented May 11, 2023

what if we just

!warnlist <user>

(this command shows the active warnings of the user, including the time when the warning was issued + reasons (and maybe the remaining time before the warning will reset))

@Octol1ttle Octol1ttle added type: discussion type: feature Features and feature requests. labels May 11, 2023
@mctaylors
Copy link
Member Author

new stupid idea:

WarnResetAfterTimeGlobally is a boolean that is responsible for resetting all warnings when the time expires

if set to true, when a warning is added, the timer resets and counts again from WarnResetAfterTime and when the time expires, the bot removes all warnings from the user.
if set to false, then when a warning is received, the user will have the warning for as long as specified in WarnResetAfterTime

default setting is false

@Octol1ttle
Copy link
Member

Is this feature still wanted? The proposed implementation requires a large set of changes to the codebase and the functionality may not be worth it

@mctaylors
Copy link
Member Author

kinda

@Octol1ttle Octol1ttle added the status: open to PR Issues that are free to be taken by outside contributors. label Aug 13, 2023
@mctaylors
Copy link
Member Author

closing issue: /warn is an actually unnecessary and very complex command that needs 6 settings

if I ever really need this feature, I will reopen this issue.

@mctaylors mctaylors closed this as not planned Won't fix, can't repro, duplicate, stale Aug 22, 2023
@Octol1ttle Octol1ttle added status: wontfix Issues that will not be resolved, for one reason or another. and removed status: open to PR Issues that are free to be taken by outside contributors. labels Aug 22, 2023
@mctaylors
Copy link
Member Author

happening

@mctaylors mctaylors reopened this Mar 18, 2024
@mctaylors mctaylors removed the status: wontfix Issues that will not be resolved, for one reason or another. label Mar 18, 2024
@mctaylors mctaylors self-assigned this Mar 18, 2024
@mctaylors mctaylors added the priority: low PRs or issues that have low priority. label Mar 18, 2024
@mctaylors
Copy link
Member Author

but not right now

@mctaylors mctaylors linked a pull request Mar 19, 2024 that will close this issue
@mctaylors
Copy link
Member Author

maybe also add some settings like WarnResetAfterPunishment, WarnResetAfterTime

WarnResetAfterPunishment is a boolean that is responsible for resetting warns after punishment WarnResetAfterTime is a TimeSpan that is responsible for resetting warns after time that was specified in that setting

I don't see the point in adding these settings, so no.

@mctaylors
Copy link
Member Author

new stupid idea:

WarnResetAfterTimeGlobally is a boolean that is responsible for resetting all warnings when the time expires

if set to true, when a warning is added, the timer resets and counts again from WarnResetAfterTime and when the time expires, the bot removes all warnings from the user. if set to false, then when a warning is received, the user will have the warning for as long as specified in WarnResetAfterTime

default setting is false

Definitely not.

@mctaylors mctaylors added status: wontfix Issues that will not be resolved, for one reason or another. and removed priority: low PRs or issues that have low priority. labels Apr 8, 2024
@mctaylors mctaylors closed this as not planned Won't fix, can't repro, duplicate, stale Apr 13, 2024
@mctaylors mctaylors removed the status: wontfix Issues that will not be resolved, for one reason or another. label May 13, 2024
@mctaylors
Copy link
Member Author

sike

@mctaylors mctaylors reopened this May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature Features and feature requests.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants