Merge pull request #4149 from Culpeo/release Added new slash command member-count

c0f2a62b333c3f8a42cdae658d8250ad19019f06

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

Signed
1 files changed, +16 -1Ignore whitespace
public/scripts/slash-commands.js+16 -1
@@ -54,7 +54,7 @@ import { getMessageTimeStamp, isMobile } from './RossAscends-mods.js';
54import { hideChatMessageRange } from './chats.js';54import { hideChatMessageRange } from './chats.js';
55import { getContext, saveMetadataDebounced } from './extensions.js';55import { getContext, saveMetadataDebounced } from './extensions.js';
56import { getRegexedString, regex_placement } from './extensions/regex/engine.js';56import { getRegexedString, regex_placement } from './extensions/regex/engine.js';
57import { findGroupMemberId, groups, is_group_generating, openGroupById, resetSelectedGroup, saveGroupChat, selected_group } from './group-chats.js';57import { findGroupMemberId, groups, is_group_generating, openGroupById, resetSelectedGroup, saveGroupChat, selected_group, getGroupMembers } from './group-chats.js';
58import { chat_completion_sources, oai_settings, promptManager } from './openai.js';58import { chat_completion_sources, oai_settings, promptManager } from './openai.js';
59import { user_avatar } from './personas.js';59import { user_avatar } from './personas.js';
60import { addEphemeralStoppingString, chat_styles, flushEphemeralStoppingStrings, power_user } from './power-user.js';60import { addEphemeralStoppingString, chat_styles, flushEphemeralStoppingStrings, power_user } from './power-user.js';
@@ -944,6 +944,12 @@ export function initDefaultSlashCommands() {
944 `,944 `,
945 }));945 }));
946 SlashCommandParser.addCommandObject(SlashCommand.fromProps({946 SlashCommandParser.addCommandObject(SlashCommand.fromProps({
947 name: 'member-count',
948 callback: countGroupMemberCallback,
949 aliases: ['countmember', 'membercount'],
950 helpString: 'Returns the total number of group members in the group chat list.',
951 }));
952 SlashCommandParser.addCommandObject(SlashCommand.fromProps({
947 name: 'delswipe',953 name: 'delswipe',
948 callback: deleteSwipeCallback,954 callback: deleteSwipeCallback,
949 returns: 'the new, currently selected swipe id',955 returns: 'the new, currently selected swipe id',
@@ -3546,6 +3552,15 @@ async function peekCallback(_, arg) {
3546 return '';3552 return '';
3547}3553}
35483554
3555async function countGroupMemberCallback() {
3556 if (!selected_group) {
3557 toastr.warning('Cannot run /member-count command outside of a group chat.');
3558 return '';
3559 }
3560
3561 return getGroupMembers(selected_group).length;
3562}
3563
3549async function removeGroupMemberCallback(_, arg) {3564async function removeGroupMemberCallback(_, arg) {
3550 if (!selected_group) {3565 if (!selected_group) {
3551 toastr.warning('Cannot run /member-remove command outside of a group chat.');3566 toastr.warning('Cannot run /member-remove command outside of a group chat.');