Merge pull request #377 from pangeachat/375-introduce-bot-custom-mode

375 introduce bot custom mode
pull/1384/head
ggurdin 1 year ago committed by GitHub
commit 66f7da0bbd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3998,6 +3998,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Responds on ⏩ reaction",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reaction to send discussion prompt",
"conversationBotCustomZone_title": "Custom Settings",
"conversationBotCustomZone_customSystemPromptLabel": "System prompt",
"conversationBotCustomZone_customSystemPromptPlaceholder": "Set custom system prompt",
"conversationBotCustomZone_customTriggerReactionEnabledLabel": "Responds on ⏩ reaction",
"addConversationBotDialogTitleInvite": "Confirm inviting conversation bot",
"addConversationBotButtonInvite": "Invite",
"addConversationBotDialogInviteConfirmation": "Invite",

@ -95,17 +95,16 @@ class ModelKey {
static const String languageLevel = "difficulty";
static const String safetyModeration = "safety_moderation";
static const String mode = "mode";
static const String custom = "custom";
static const String discussionTopic = "discussion_topic";
static const String discussionKeywords = "discussion_keywords";
static const String discussionTriggerScheduleEnabled =
"discussion_trigger_schedule_enabled";
static const String discussionTriggerScheduleHourInterval =
"discussion_trigger_schedule_hour_interval";
static const String discussionTriggerReactionEnabled =
"discussion_trigger_reaction_enabled";
static const String discussionTriggerReactionKey =
"discussion_trigger_reaction_key";
static const String customSystemPrompt = "custom_system_prompt";
static const String customTriggerReactionEnabled =
"custom_trigger_reaction_enabled";
static const String customTriggerReactionKey = "custom_trigger_reaction_key";
static const String prevEventId = "prev_event_id";
static const String prevLastUpdated = "prev_last_updated";

@ -13,44 +13,66 @@ class BotOptionsModel {
List<String> keywords;
bool safetyModeration;
String mode;
String? custom;
String? discussionTopic;
String? discussionKeywords;
bool? discussionTriggerScheduleEnabled;
int? discussionTriggerScheduleHourInterval;
bool? discussionTriggerReactionEnabled;
String? discussionTriggerReactionKey;
String? customSystemPrompt;
bool? customTriggerReactionEnabled;
String? customTriggerReactionKey;
BotOptionsModel({
////////////////////////////////////////////////////////////////////////////
// General Bot Options
////////////////////////////////////////////////////////////////////////////
this.languageLevel,
this.topic = "General Conversation",
this.keywords = const [],
this.safetyModeration = true,
this.mode = "discussion",
this.custom = "",
////////////////////////////////////////////////////////////////////////////
// Discussion Mode Options
////////////////////////////////////////////////////////////////////////////
this.discussionTopic,
this.discussionKeywords,
this.discussionTriggerScheduleEnabled,
this.discussionTriggerScheduleHourInterval,
this.discussionTriggerReactionEnabled = true,
this.discussionTriggerReactionKey,
this.discussionTriggerReactionKey = "",
////////////////////////////////////////////////////////////////////////////
// Custom Mode Options
////////////////////////////////////////////////////////////////////////////
this.customSystemPrompt,
this.customTriggerReactionEnabled = true,
this.customTriggerReactionKey = "",
});
factory BotOptionsModel.fromJson(json) {
return BotOptionsModel(
//////////////////////////////////////////////////////////////////////////
// General Bot Options
//////////////////////////////////////////////////////////////////////////
languageLevel: json[ModelKey.languageLevel],
safetyModeration: json[ModelKey.safetyModeration] ?? true,
mode: json[ModelKey.mode] ?? "discussion",
custom: json[ModelKey.custom],
//////////////////////////////////////////////////////////////////////////
// Discussion Mode Options
//////////////////////////////////////////////////////////////////////////
discussionTopic: json[ModelKey.discussionTopic],
discussionKeywords: json[ModelKey.discussionKeywords],
discussionTriggerScheduleEnabled:
json[ModelKey.discussionTriggerScheduleEnabled],
discussionTriggerScheduleHourInterval:
json[ModelKey.discussionTriggerScheduleHourInterval],
discussionTriggerReactionEnabled:
json[ModelKey.discussionTriggerReactionEnabled],
discussionTriggerReactionKey: json[ModelKey.discussionTriggerReactionKey],
json[ModelKey.discussionTriggerReactionEnabled] ?? true,
discussionTriggerReactionKey:
json[ModelKey.discussionTriggerReactionKey] ?? "",
//////////////////////////////////////////////////////////////////////////
// Custom Mode Options
//////////////////////////////////////////////////////////////////////////
customSystemPrompt: json[ModelKey.customSystemPrompt],
customTriggerReactionEnabled:
json[ModelKey.customTriggerReactionEnabled] ?? true,
customTriggerReactionKey: json[ModelKey.customTriggerReactionKey] ?? "",
);
}
@ -61,17 +83,16 @@ class BotOptionsModel {
data[ModelKey.languageLevel] = languageLevel;
data[ModelKey.safetyModeration] = safetyModeration;
data[ModelKey.mode] = mode;
data[ModelKey.custom] = custom;
data[ModelKey.discussionTopic] = discussionTopic;
data[ModelKey.discussionKeywords] = discussionKeywords;
data[ModelKey.discussionTriggerScheduleEnabled] =
discussionTriggerScheduleEnabled;
data[ModelKey.discussionTriggerScheduleHourInterval] =
discussionTriggerScheduleHourInterval;
data[ModelKey.discussionTriggerReactionEnabled] =
discussionTriggerReactionEnabled;
discussionTriggerReactionEnabled ?? true;
data[ModelKey.discussionTriggerReactionKey] =
discussionTriggerReactionKey;
discussionTriggerReactionKey ?? "";
data[ModelKey.customSystemPrompt] = customSystemPrompt;
data[ModelKey.customTriggerReactionEnabled] =
customTriggerReactionEnabled ?? true;
data[ModelKey.customTriggerReactionKey] = customTriggerReactionKey ?? "";
return data;
} catch (e, s) {
debugger(when: kDebugMode);
@ -92,27 +113,27 @@ class BotOptionsModel {
case ModelKey.mode:
mode = value;
break;
case ModelKey.custom:
custom = value;
break;
case ModelKey.discussionTopic:
discussionTopic = value;
break;
case ModelKey.discussionKeywords:
discussionKeywords = value;
break;
case ModelKey.discussionTriggerScheduleEnabled:
discussionTriggerScheduleEnabled = value;
break;
case ModelKey.discussionTriggerScheduleHourInterval:
discussionTriggerScheduleHourInterval = value;
break;
case ModelKey.discussionTriggerReactionEnabled:
discussionTriggerReactionEnabled = value;
break;
case ModelKey.discussionTriggerReactionKey:
discussionTriggerReactionKey = value;
break;
case ModelKey.customSystemPrompt:
customSystemPrompt = value;
break;
case ModelKey.customTriggerReactionEnabled:
customTriggerReactionEnabled = value;
break;
case ModelKey.customTriggerReactionKey:
customTriggerReactionKey = value;
break;
default:
throw Exception('Invalid key for bot options - $key');
}

@ -0,0 +1,73 @@
import 'package:fluffychat/pangea/models/bot_options_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class ConversationBotCustomSystemPromptInput extends StatelessWidget {
final BotOptionsModel initialBotOptions;
// call this to update propagate changes to parents
final void Function(BotOptionsModel) onChanged;
const ConversationBotCustomSystemPromptInput({
super.key,
required this.initialBotOptions,
required this.onChanged,
});
@override
Widget build(BuildContext context) {
String customSystemPrompt = initialBotOptions.customSystemPrompt ?? "";
final TextEditingController textFieldController =
TextEditingController(text: customSystemPrompt);
void setBotCustomSystemPromptAction() async {
showDialog(
context: context,
useRootNavigator: false,
builder: (BuildContext context) => AlertDialog(
title: Text(
L10n.of(context)!.conversationBotCustomZone_customSystemPromptLabel,
),
content: TextField(
minLines: 1,
maxLines: 10,
maxLength: 1000,
controller: textFieldController,
onChanged: (value) {
customSystemPrompt = value;
},
),
actions: [
TextButton(
child: Text(L10n.of(context)!.cancel),
onPressed: () {
Navigator.of(context).pop();
},
),
TextButton(
child: Text(L10n.of(context)!.ok),
onPressed: () {
if (customSystemPrompt == "") return;
if (customSystemPrompt !=
initialBotOptions.customSystemPrompt) {
initialBotOptions.customSystemPrompt = customSystemPrompt;
onChanged.call(initialBotOptions);
Navigator.of(context).pop();
}
},
),
],
),
);
}
return ListTile(
onTap: setBotCustomSystemPromptAction,
title: Text(
initialBotOptions.customSystemPrompt ??
L10n.of(context)!
.conversationBotCustomZone_customSystemPromptPlaceholder,
),
);
}
}

@ -1,15 +1,75 @@
import 'package:fluffychat/pangea/models/bot_options_model.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_system_prompt_input.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
class ConversationBotCustomZone extends StatelessWidget {
final BotOptionsModel initialBotOptions;
// call this to update propagate changes to parents
final void Function(BotOptionsModel) onChanged;
const ConversationBotCustomZone({
super.key,
required this.initialBotOptions,
required this.onChanged,
});
@override
Widget build(BuildContext context) {
return const Column(
print(initialBotOptions.toJson());
return Column(
children: [
Text('Custom Zone'),
const SizedBox(height: 12),
Text(
L10n.of(context)!.conversationBotCustomZone_title,
style: TextStyle(
color: Theme.of(context).colorScheme.secondary,
fontWeight: FontWeight.bold,
),
),
const Divider(
color: Colors.grey,
thickness: 1,
),
const SizedBox(height: 12),
Align(
alignment: Alignment.centerLeft,
child: Padding(
padding: const EdgeInsets.fromLTRB(12, 0, 0, 0),
child: Text(
L10n.of(context)!
.conversationBotCustomZone_customSystemPromptLabel,
style: TextStyle(
color: Theme.of(context).colorScheme.secondary,
fontWeight: FontWeight.bold,
),
),
),
),
Padding(
padding: const EdgeInsets.all(8),
child: ConversationBotCustomSystemPromptInput(
initialBotOptions: initialBotOptions,
onChanged: onChanged,
),
),
const SizedBox(height: 12),
CheckboxListTile(
title: Text(
L10n.of(context)!
.conversationBotCustomZone_customTriggerReactionEnabledLabel,
),
enabled: false,
value: initialBotOptions.customTriggerReactionEnabled ?? true,
onChanged: (value) {
initialBotOptions.customTriggerReactionEnabled = value ?? true;
initialBotOptions.customTriggerReactionKey =
""; // hard code this for now
onChanged.call(initialBotOptions);
},
// make this input disabled always
),
const SizedBox(height: 12),
],
);
}

@ -82,9 +82,9 @@ class ConversationBotDiscussionZone extends StatelessWidget {
.conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel,
),
enabled: false,
value: initialBotOptions.discussionTriggerReactionEnabled ?? false,
value: initialBotOptions.discussionTriggerReactionEnabled ?? true,
onChanged: (value) {
initialBotOptions.discussionTriggerReactionEnabled = value ?? false;
initialBotOptions.discussionTriggerReactionEnabled = value ?? true;
initialBotOptions.discussionTriggerReactionKey =
""; // hard code this for now
onChanged.call(initialBotOptions);

@ -1,7 +1,5 @@
import 'package:fluffychat/pangea/models/bot_options_model.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart';
import 'package:flutter/material.dart';
import 'conversation_bot_discussion_zone.dart';
@ -23,9 +21,12 @@ class ConversationBotModeDynamicZone extends StatelessWidget {
initialBotOptions: initialBotOptions,
onChanged: onChanged,
),
"custom": const ConversationBotCustomZone(),
"conversation": const ConversationBotConversationZone(),
"text_adventure": const ConversationBotTextAdventureZone(),
"custom": ConversationBotCustomZone(
initialBotOptions: initialBotOptions,
onChanged: onChanged,
),
// "conversation": const ConversationBotConversationZone(),
// "text_adventure": const ConversationBotTextAdventureZone(),
};
return Container(
decoration: BoxDecoration(

@ -16,7 +16,7 @@ class ConversationBotModeSelect extends StatelessWidget {
final Map<String, String> options = {
"discussion":
L10n.of(context)!.conversationBotModeSelectOption_discussion,
// "custom": L10n.of(context)!.conversationBotModeSelectOption_custom,
"custom": L10n.of(context)!.conversationBotModeSelectOption_custom,
// "conversation":
// L10n.of(context)!.conversationBotModeSelectOption_conversation,
// "text_adventure":

@ -4,6 +4,7 @@ import 'package:fluffychat/pangea/models/bot_options_model.dart';
import 'package:fluffychat/pangea/utils/bot_name.dart';
import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart';
import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart';
import 'package:fluffychat/pangea/widgets/space/language_level_dropdown.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
@ -44,7 +45,9 @@ class ConversationBotSettingsState extends State<ConversationBotSettings> {
void initState() {
super.initState();
isOpen = widget.startOpen;
botOptions = widget.room?.botOptions ?? BotOptionsModel();
botOptions = widget.room?.botOptions != null
? BotOptionsModel.fromJson(widget.room?.botOptions?.toJson())
: BotOptionsModel();
widget.room?.isBotRoom.then((bool isBotRoom) {
setState(() {
addBot = isBotRoom;
@ -221,28 +224,28 @@ class ConversationBotSettingsState extends State<ConversationBotSettings> {
}),
),
),
// Padding(
// padding: const EdgeInsets.fromLTRB(32, 16, 0, 0),
// child: Text(
// L10n.of(context)!.conversationBotModeSelectDescription,
// style: TextStyle(
// color: Theme.of(context).colorScheme.secondary,
// fontWeight: FontWeight.bold,
// fontSize: 16,
// ),
// ),
// ),
// Padding(
// padding: const EdgeInsets.only(left: 16),
// child: ConversationBotModeSelect(
// initialMode: botOptions.mode,
// onChanged: (String? mode) => updateBotOption(
// () {
// botOptions.mode = mode ?? "discussion";
// },
// ),
// ),
// ),
Padding(
padding: const EdgeInsets.fromLTRB(32, 16, 0, 0),
child: Text(
L10n.of(context)!.conversationBotModeSelectDescription,
style: TextStyle(
color: Theme.of(context).colorScheme.secondary,
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
),
Padding(
padding: const EdgeInsets.only(left: 16),
child: ConversationBotModeSelect(
initialMode: botOptions.mode,
onChanged: (String? mode) => updateBotOption(
() {
botOptions.mode = mode ?? "discussion";
},
),
),
),
Padding(
padding: const EdgeInsets.fromLTRB(28, 0, 12, 0),
child: ConversationBotModeDynamicZone(

@ -819,6 +819,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -2315,6 +2319,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -3812,6 +3820,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -5313,6 +5325,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -6217,6 +6233,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -7202,6 +7222,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -8074,6 +8098,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -9521,6 +9549,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -10672,6 +10704,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -10726,6 +10762,10 @@
"es": [
"searchIn",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -11560,6 +11600,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -12428,6 +12472,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -13433,6 +13481,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -14404,6 +14456,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -15731,6 +15787,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -16737,6 +16797,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -17872,6 +17936,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -18744,6 +18812,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -19994,6 +20066,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -21487,6 +21563,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -22435,6 +22515,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -23321,6 +23405,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -24805,6 +24893,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -25682,6 +25774,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -26938,6 +27034,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -27863,6 +27963,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -28899,6 +29003,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -30254,6 +30362,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -31126,6 +31238,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -32160,6 +32276,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -33038,6 +33158,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -34235,6 +34359,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -35200,6 +35328,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -36173,6 +36305,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -37651,6 +37787,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -38528,6 +38668,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -39727,6 +39871,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -40735,6 +40883,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -41611,6 +41763,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -42875,6 +43031,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -44273,6 +44433,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -45443,6 +45607,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -46349,6 +46517,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -47846,6 +48018,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -49298,6 +49474,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -50171,6 +50351,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -51072,6 +51256,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -52425,6 +52613,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -53297,6 +53489,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",
@ -54441,6 +54637,10 @@
"conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel",
"conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel",
"conversationBotDiscussionZone_discussionTriggerReactionKeyLabel",
"conversationBotCustomZone_title",
"conversationBotCustomZone_customSystemPromptLabel",
"conversationBotCustomZone_customSystemPromptPlaceholder",
"conversationBotCustomZone_customTriggerReactionEnabledLabel",
"addConversationBotDialogTitleInvite",
"addConversationBotButtonInvite",
"addConversationBotDialogInviteConfirmation",

Loading…
Cancel
Save