-
Notifications
You must be signed in to change notification settings - Fork 195
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
Conversation
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); |
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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
@Dragory CLA mergers: ZeppelinBot/CLA#33 |
Merged as part of #455. Thank you! |
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