Groups: add 'manual' reply strategy

99220d6a8898c876943ee13e1032d544eff40e37

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

2 files changed, +5 -0Ignore whitespace
public/index.html+1 -0
@@ -5055,6 +5055,7 @@
50555055 <span data-i18n="Group reply strategy">Group reply strategy</span>
50565056 </label>
50575057 <select id="rm_group_activation_strategy">
5058+ <option value="2" data-i18n="Manual">Manual</option>
50585059 <option value="0" data-i18n="Natural order">Natural order</option>
50595060 <option value="1" data-i18n="List order">List order</option>
50605061 </select>
public/scripts/group-chats.js+4 -0
@@ -110,6 +110,7 @@ let newGroupMembers = [];
110110export const group_activation_strategy = {
111111 NATURAL: 0,
112112 LIST: 1,
113+ MANUAL: 2,
113114};
114115
115116export const group_generation_mode = {
@@ -852,6 +853,9 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
852853 else if (activationStrategy === group_activation_strategy.LIST) {
853854 activatedMembers = activateListOrder(enabledMembers);
854855 }
856+ else if (activationStrategy === group_activation_strategy.MANUAL && !isUserInput) {
857+ activatedMembers = shuffle(enabledMembers).slice(0, 1).map(x => characters.findIndex(y => y.avatar === x)).filter(x => x !== -1);
858+ }
855859
856860 if (activatedMembers.length === 0) {
857861 //toastr.warning('All group members are disabled. Enable at least one to get a reply.');