Use SlashCommandEnumValue

9c31c21d79f8275172886e19c213555ce6de98d1

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +10 -3Ignore whitespace
public/scripts/slash-commands.js+10 -3
@@ -736,7 +736,7 @@ export function initDefaultSlashCommands() {
736 SlashCommandParser.addCommandObject(SlashCommand.fromProps({736 SlashCommandParser.addCommandObject(SlashCommand.fromProps({
737 name: 'member-get',737 name: 'member-get',
738 aliases: ['getmember', 'memberget'],738 aliases: ['getmember', 'memberget'],
739 callback: (async ({field = 'name'}, arg) => {739 callback: (async ({ field = 'name' }, arg) => {
740 if (!selected_group) {740 if (!selected_group) {
741 toastr.warning('Cannot run /member-get command outside of a group chat.');741 toastr.warning('Cannot run /member-get command outside of a group chat.');
742 return '';742 return '';
@@ -745,6 +745,8 @@ export function initDefaultSlashCommands() {
745 toastr.warning('\'/member-get field=\' argument required!');745 toastr.warning('\'/member-get field=\' argument required!');
746 return '';746 return '';
747 }747 }
748 field = field.toString();
749 arg = arg.toString();
748 if (!['name', 'index', 'id', 'avatar'].includes(field)) {750 if (!['name', 'index', 'id', 'avatar'].includes(field)) {
749 toastr.warning('\'/member-get field=\' argument required!');751 toastr.warning('\'/member-get field=\' argument required!');
750 return '';752 return '';
@@ -752,7 +754,7 @@ export function initDefaultSlashCommands() {
752 const isId = !isNaN(parseInt(arg));754 const isId = !isNaN(parseInt(arg));
753 const groupMember = findGroupMemberId(arg, true);755 const groupMember = findGroupMemberId(arg, true);
754 if (!groupMember) {756 if (!groupMember) {
755 toastr.warn(`No group member found using ${isId?'id':'string'} ${arg}`);757 toastr.warn(`No group member found using ${isId ? 'id' : 'string'} ${arg}`);
756 return '';758 return '';
757 }759 }
758 return groupMember[field];760 return groupMember[field];
@@ -764,7 +766,12 @@ export function initDefaultSlashCommands() {
764 typeList: [ARGUMENT_TYPE.STRING],766 typeList: [ARGUMENT_TYPE.STRING],
765 isRequired: true,767 isRequired: true,
766 defaultValue: 'name',768 defaultValue: 'name',
767 enumList: ['name', 'index', 'id', 'avatar'],769 enumList: [
770 new SlashCommandEnumValue('name', 'Character name'),
771 new SlashCommandEnumValue('index', 'Group member index'),
772 new SlashCommandEnumValue('avatar', 'Character avatar'),
773 new SlashCommandEnumValue('id', 'Character index'),
774 ],
768 }),775 }),
769 ],776 ],
770 unnamedArgumentList: [777 unnamedArgumentList: [