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

feat: Added 'Max Cap Timeout' for help channels #72

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Ngoc-Cac
Copy link

@Ngoc-Cac Ngoc-Cac commented Jul 2, 2024

Added a feature where a channel cannot stay open past a specified amount of time. The default value for cap is 3 days, but may be changed by configuring clopen. The command for configuration is:
.config clopen <server id> timeout_cap [duration]

This is tested locally with different amount of times ranging from a few minutes to an hour. I did not test for larger values since I was impatient. But it should still work.

More specifications:
Upon closing, a reason for closing will be given: "Channel closed due to maximum timeout reached!". The user is not, however, pinged as this is an embedded message. When closed, the channel will be archived (moved to hidden help channel category in the server).
Preview of closing notice:
image

Added a feature where a channel cannot stay open past a specified amount of time. The default value for cap is 3 days, but may be changed by configuration.
The command for configuration is '.config clopen <server id> timeout_cap [duration]'

This is tested locally with different amount of times ranging from a few minutes to an hour. I did not test for larger values since I was impatient. But it should still work.

More specifications:
Upon closing, a reason for closing will be given "Channel closed due to maximum timeout reached!".
The user is not however pinged as this is an embedded message.
When closed, the channel will be archived (moved to hidden help channel category in the server).
@Ngoc-Cac
Copy link
Author

Ngoc-Cac commented Jul 2, 2024

Oh and about the pinging thing, I think maybe after the closing notice, we could have the bot send a message where it actually pings the channel owner. But I'm not sure if this is necessary anyway.

Forgot to run pyright so ran it and updated with type-checking.

Also forgot the case where a channel is made pending right before the timeout_cap is reached.
Refactored the code for closing channel due to maximum timeout reached.
Condensed the whole procedure of closing a channel due to max timeout reached into a function called `timeout_cap_close_procedure`

Fixed condition checking:
Fixed the condition checking in `scheduler_task`. The structure should be if-elif instead of if-if when checking conditions for max_expiry and expiry.
README: added instructions for configuring the maximum timeout (timeout_cap)

Close procedure: Added pinging user after closing the channel.
I thought it might be unnecessary. But maybe this helps the owner find their channel more easily,.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant