bots: Add a setting to customize the Welcome Bot message.

This commit includes the following changes:
- Add an administrator setting to customize the Welcome Bot
message when sending an invitation.
- Add an API endpoint to test the customized Welcome Bot message
by sending a copy of the message to the administrator.

Fixes #27663.

Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
This commit is contained in:
Saubhagya Patel
2025-07-30 19:57:50 +05:30
committed by Tim Abbott
parent 4cafe5f77c
commit bb5c87e306
35 changed files with 988 additions and 32 deletions

View File

@@ -99,4 +99,27 @@
</div>
</div>
{{/if}}
{{#if is_admin}}
<div class="input-group">
{{#if default_welcome_message_custom_text.length}}
<label class="checkbox display-block modal-field-label">
<input type="checkbox" id="send_default_realm_welcome_message_custom_text" checked="checked"/>
<span class="rendered-checkbox"></span>
{{t 'Send the default Welcome Bot message configured for this organization'}}
</label>
{{else}}
<label class="checkbox display-block modal-field-label">
<input type="checkbox" id="send_custom_welcome_message_custom_text"/>
<span class="rendered-checkbox"></span>
{{t 'Send a custom Welcome Bot message'}}
</label>
{{/if}}
<div id="invite_welcome_message_custom_text_container">
<label for="invite_welcome_custom_message_text" class="modal-field-label">{{t "Message text" }}</label>
<textarea id="invite_welcome_custom_message_text" name="invite_welcome_message_custom_text" class="settings_textarea" maxlength="8000" rows="3">
{{~default_welcome_message_custom_text~}}
</textarea>
</div>
</div>
{{/if}}
</form>

View File

@@ -61,6 +61,25 @@
<option value="6">{{t "Sunday" }}</option>
</select>
</div>
{{> settings_checkbox
setting_name="realm_enable_welcome_message_custom_text"
prefix="id_"
is_checked=realm_enable_welcome_message_custom_text
label=admin_settings_label.realm_enable_welcome_message_custom_text
skip_prop_element=true}}
<div class="input-group" id="welcome_message_custom_text_container">
<label for="id_realm_welcome_message_custom_text" class="settings-field-label">
{{t "Message text" }}
</label>
<textarea id="id_realm_welcome_message_custom_text" name="welcome_message_custom_text"
class="admin-realm-welcome-message-custom-text setting-widget prop-element settings_textarea display-block" maxlength="8000"
data-setting-widget-type="string" rows="3">{{ realm_welcome_message_custom_text }}</textarea>
<div id="welcome_message_custom_text_buttons_container">
{{> ../components/action_button attention="quiet" intent="neutral" label=(t "Send me a test message") id="send_test_welcome_bot_custom_message"}}
</div>
</div>
</div>
</div>