Added new slash command member-count

9cfb913b3dc1a62ab802e24099919a405ce40ade

Culpeo <Culpeo@users.noreply.github.com.>

1 files changed, +21 -1Ignore whitespace
public/scripts/slash-commands.js+21 -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',
@@ -3493,6 +3499,20 @@ async function peekCallback(_, arg) {
3493 return '';3499 return '';
3494}3500}
34953501
3502async function countGroupMemberCallback() {
3503 if (!selected_group) {
3504 toastr.warning('Cannot run /member-count command outside of a group chat.');
3505 return '';
3506 }
3507
3508 if (is_group_generating) {
3509 toastr.warning('Cannot run /member-count command while the group reply is generating.');
3510 return '';
3511 }
3512
3513 return getGroupMembers(selected_group).length;
3514}
3515
3496async function removeGroupMemberCallback(_, arg) {3516async function removeGroupMemberCallback(_, arg) {
3497 if (!selected_group) {3517 if (!selected_group) {
3498 toastr.warning('Cannot run /member-remove command outside of a group chat.');3518 toastr.warning('Cannot run /member-remove command outside of a group chat.');