Use SlashCommandEnumValue

This commit is contained in:
Cohee
2025-02-02 00:47:12 +02:00
parent b35a746470
commit 9c31c21d79

View File

@ -736,7 +736,7 @@ export function initDefaultSlashCommands() {
SlashCommandParser.addCommandObject(SlashCommand.fromProps({ SlashCommandParser.addCommandObject(SlashCommand.fromProps({
name: 'member-get', name: 'member-get',
aliases: ['getmember', 'memberget'], aliases: ['getmember', 'memberget'],
callback: (async ({field = 'name'}, arg) => { callback: (async ({ field = 'name' }, arg) => {
if (!selected_group) { if (!selected_group) {
toastr.warning('Cannot run /member-get command outside of a group chat.'); toastr.warning('Cannot run /member-get command outside of a group chat.');
return ''; return '';
@ -745,6 +745,8 @@ export function initDefaultSlashCommands() {
toastr.warning('\'/member-get field=\' argument required!'); toastr.warning('\'/member-get field=\' argument required!');
return ''; return '';
} }
field = field.toString();
arg = arg.toString();
if (!['name', 'index', 'id', 'avatar'].includes(field)) { if (!['name', 'index', 'id', 'avatar'].includes(field)) {
toastr.warning('\'/member-get field=\' argument required!'); toastr.warning('\'/member-get field=\' argument required!');
return ''; return '';
@ -752,7 +754,7 @@ export function initDefaultSlashCommands() {
const isId = !isNaN(parseInt(arg)); const isId = !isNaN(parseInt(arg));
const groupMember = findGroupMemberId(arg, true); const groupMember = findGroupMemberId(arg, true);
if (!groupMember) { if (!groupMember) {
toastr.warn(`No group member found using ${isId?'id':'string'} ${arg}`); toastr.warn(`No group member found using ${isId ? 'id' : 'string'} ${arg}`);
return ''; return '';
} }
return groupMember[field]; return groupMember[field];
@ -764,7 +766,12 @@ export function initDefaultSlashCommands() {
typeList: [ARGUMENT_TYPE.STRING], typeList: [ARGUMENT_TYPE.STRING],
isRequired: true, isRequired: true,
defaultValue: 'name', defaultValue: 'name',
enumList: ['name', 'index', 'id', 'avatar'], enumList: [
new SlashCommandEnumValue('name', 'Character name'),
new SlashCommandEnumValue('index', 'Group member index'),
new SlashCommandEnumValue('avatar', 'Character avatar'),
new SlashCommandEnumValue('id', 'Character index'),
],
}), }),
], ],
unnamedArgumentList: [ unnamedArgumentList: [