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 -1Showing whitespace changes
public/scripts/slash-commands.js+16 -1
@@ -54,7 +54,7 @@ import { getMessageTimeStamp, isMobile } from './RossAscends-mods.js';
5454import { hideChatMessageRange } from './chats.js';
5555import { getContext, saveMetadataDebounced } from './extensions.js';
5656import { getRegexedString, regex_placement } from './extensions/regex/engine.js';
5757import { findGroupMemberId, groups, is_group_generating, openGroupById, resetSelectedGroup, saveGroupChat, selected_group, getGroupMembers } from './group-chats.js';
5858import { chat_completion_sources, oai_settings, promptManager } from './openai.js';
5959import { user_avatar } from './personas.js';
6060import { addEphemeralStoppingString, chat_styles, flushEphemeralStoppingStrings, power_user } from './power-user.js';
@@ -944,6 +944,12 @@ export function initDefaultSlashCommands() {
944944 `,
945945 }));
946946 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({
947953 name: 'delswipe',
948954 callback: deleteSwipeCallback,
949955 returns: 'the new, currently selected swipe id',
@@ -3546,6 +3552,15 @@ async function peekCallback(_, arg) {
35463552 return '';
35473553}
35483554
3555+async 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+
35493564async function removeGroupMemberCallback(_, arg) {
35503565 if (!selected_group) {
35513566 toastr.warning('Cannot run /member-remove command outside of a group chat.');