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(ContextMenus): Improve context menu commands #421

Closed
wants to merge 9 commits into from

Conversation

Obliie
Copy link

@Obliie Obliie commented Aug 5, 2023

I've improved the existing ContextMenus plugin to be much more complete. It's been updated to use the interface in the newer version of the knub library and I've also added some new features.

Features

User context menu commands:

Mod Menu

A user-friendly way to easily navigate cases and apply actions to a user. Cases are displayed in a paginated manner with navigation buttons provided. Actions are executed through a modal interaction that collects any necessary arguments.

Example usage:

e03769a1090896ea83ce69210cfcaa2b.mp4

Note

The interaction opens a model which collects a note argument - the same flow as the normal note command is followed after that.

Example usage:

5fbe54a7d7a0538b72697e0f4fa72bc2.mp4

Warn

The interaction opens a model which collects a reason, and evidence argument - the same flow as the normal warn command is followed after that. Evidence is added as an update to the case after the action is applied.

Example usage:

9f5fb51d9b4062ff9bad12477bbe444b.mp4

Mute

The interaction opens a model which collects a duration, reason, and evidence argument - the same flow as the normal mute command is followed after that. Evidence is added as an update to the case after the action is applied. If no duration is provided the mute is permanent.

Example usage:

bb3688133d45a5e81f6614c7ca502189.mp4

Ban

The interaction opens a model which collects a duration, reason, and evidence argument - the same flow as the normal ban command is followed after that. Evidence is added as an update to the case after the action is applied. If no duration is provided the mute is permanent.

Example usage (Skip to 20s, first ban didn't work because I forgot to remove admin role):

f0bf835a25385f7a7e72130c82a68459.mp4

Message context menu commands:

Clean

The interaction opens a modal that collects a number of messages to clean - the same flow as the normal clean command is followed after that. The messages start to get cleaned from the message on which the interaction was triggered.

Example usage:

c9ebb96c57a37595f0e470afb4c1065e.mp4

CLA

I've signed the CLA here ZeppelinBot/CLA#33

@cla-bot
Copy link

cla-bot bot commented Aug 5, 2023

Thank you for contributing to Zeppelin! We require contributors to sign our Contributor License Agreement (CLA). To let us review and merge your code, please visit https://github.com/ZeppelinBot/CLA to sign the CLA!

return;
}

const targetMember = await pluginData.guild.members.fetch(target);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seems to be an issue with fetching the member here. Whenever someone leaves the server it will throw an Discord error (API: Unknown Member).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a look at fixing it over the weekend, thanks

@metal0 metal0 requested a review from almeidx December 29, 2023 06:39
@metal0
Copy link
Contributor

metal0 commented Dec 29, 2023

@Dragory CLA mergers: ZeppelinBot/CLA#33

@Dragory
Copy link
Collaborator

Dragory commented Aug 11, 2024

Merged as part of #455. Thank you!

@Dragory Dragory closed this Aug 11, 2024
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.

4 participants