# Telegram Multi-User Bot

Consideremos un ejemplo de un robot que demuestra el funcionamiento de un bot de Telegram con varios usuarios. Cada uno de los usuarios puede comunicarse con Chat GPT (utilizando un historial de chat individual). En la variable $NameSession se indica el nombre de la sesión, después de lo cual es necesario autenticarse en el cliente.

**¡Importante!** *Los datos de conexión a Telegram se pueden encontrar en la ruta: c:\Users\User\AppData\Roaming\Sherpa RPA Data\Telegram\\*

El proyecto del robot consta de dos diagramas.

El diagrama principal del proyecto se ve así (para mayor comodidad, los bloques del diagrama están numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUdEYPvdpSb-oGWIXVky27sLLSbDSc_1CoH6Pj3pmk9tnIFUB8b7JtLavA2uYoWB6ycA2-azMmLhV5_fI3VslbvPX1Z6a59ij9VBWs5jgC9pnYmNgUDWw8s-BUoDAF-tTfXzvl7w?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfnVu_KB5uO1dr5naTVdkY777z0B6i6_lctfumz-7zHvvQ70oZQH5uF_G3GDHwCgjbnqkEbt_rf9mbR3Yn6d0FJHQ-10m2Zf6JHL1aGJdc8jU-t_puiB3tromIawVmCPQobGUecsw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Proceso”** permite crear escenarios compuestos por varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama del proyecto especificado. La ejecución del escenario regresará al bloque actual y continuará en el diagrama actual tan pronto como se alcance el bloque “Fin” en el diagrama externo. Para el bloque “Proceso” se ha especificado la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcGT_OkE8_rpRJgKN1eUB1dW07wFy23Buy02ZM0NYx8uzPVpN5vnN8AWUBYRjyGUx4YgDRDfxI3jr7n7EQkKcPhfmcejg558gYuNYSJVXVweRkDRF-4pB8uC9trTDEMqmhNuUkttg?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

3. **Bloque “Bot. Crear conexión”** permite crear conexiones para el bot de Telegram. Para este bloque se han especificado las siguientes propiedades:

* Token del bot (token del bot que se puede obtener de BotFather en el cliente de Telegram);
* Tiempo de espera (tiempo de espera para la respuesta del servidor de Telegram en segundos).

Como salida se obtiene “Conexión” – una variable con el objeto de la conexión actual a Telegram. En los demás bloques es necesario especificar precisamente esta variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfM2vBvLxOzQZs3SSF1YB3R05Hrsu3jekOPFzyDMChqCFAJxcFz9vrRxbYF5dBLU8l2NDZzHV3jdggvSV__-1wB17sVH0ogSNhT1CIMsoVcXbcdbPkaWORxrDzLhigUz1vJSy25?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

4. **Bloque “Bot. Obtener mensaje”** permite recibir un mensaje o una llamada de retorno de la cola. Si no hay mensajes en la cola, se genera un error. Para este bloque se ha especificado la propiedad “Conexión” (objeto de conexión al bot. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Conexión", del bloque "Bot. Crear conexión" del grupo Telegram, que se utilizó anteriormente para conectarse al bot de Telegram).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfRCRlsoUq5_OjfJNJagNkM8Rzy2bQuJmFfYKhLOURwDEAAesqif75mIjtxS_W_LUJzFP9LP8QnTJM22lKnDsgReTsK-g6VVTQ-rh-shvqocJp8xDl3MiZbxuh1IfVm0-CCFPkpOw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

5. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se ha indicado un valor que debe asignarse a una variable, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfqqOX78AtdZOrKDzWu6eLtW8sjSvLdZMvlddoJcF7b3iq36jnRBuYMagqufxxWiumB4iqC39a8bHJVkBlu-lMuvivr1PTIg2cwwF8BwEf0evxdSst062w5T05TiSrmdBwfOY6GQQ?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

6. **Bloque “Obtener ruta”** permite conocer la ruta completa al archivo/directorio. Para este bloque se han especificado las siguientes propiedades:

* Ruta a la carpeta (ruta a la carpeta donde se encuentra el archivo necesario);
* Nombre del archivo (nombre del archivo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd_u2PkOza_ehoLNMwPjiJWDg11VEme4heBX1QEPQTx-N8KulvWktps8aqDaNYRian6EBjgWw2RnnoT0eaqVGbMLv24icDYzfHWPY4K6L25tBahhKS1Ph2c6pXxvghBJjZ1U9uifg?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

7. **Bloque “Contenedor”** permite colapsar el contenido. Por contenido se entienden los bloques que provienen del actual a través del conector inferior. Para un funcionamiento correcto, los bloques de este contenedor deben finalizar con el bloque “Fin”. Al finalizar el trabajo de los bloques internos, se realizará un salto a través del conector “Salida”. En este caso, en el contenedor "Cargando datos del cliente" puede alternar "Prompts" (o establecer los suyos) y así indicar el comportamiento del chatbot. El contenido del bloque “Contenedor” para este diagrama se ve así:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYJdQrByzvv81v_GPldw7JG2lXu7k9ZRZUeObXHRSGXC6kjpxXDY_2BVEV7RG4VTefeiR9PIvhmEN6nN_21GOYbIgfVeUNPDkFeP6Xxv8EOKLv-oeFfo2AkAxo0YMo50AdvDEtfw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcP3c2BB4Ch7nPoS_nJCAMKzhzbeqJni3TWuH8IN4J2O8XRaYafx7Qbttaet6LdXf-bSa1PR2Sa3uCgmIkWI6sFRzq3ULKOR8uZrdgWiqnKsYeUVTx9MULI284CyDNKGZ44zDsT?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

7.1 **Bloque “Cargar desde CSV”** permite cargar una tabla de datos desde un documento CSV. Para este bloque se han especificado las siguientes propiedades:

* Ruta al archivo (ruta al documento desde el cual se debe cargar la información en la Tabla de Datos);
* Separador (símbolo separador, por defecto se utiliza el punto y coma);
* Codificación (codificación del archivo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdU293LMgwyPgViHODKCN2jpgR7JnhcoBaIBiuPpla5Uh5e_VyUm_WJb-_9hlL9sUuZMb3ELsjbkyP6V6boWI2K9DRG-Qla0W-1ZY1Lb0qnwCfnSzhrdqeif9ujgrZ0qdd04GPJ-A?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

7.2 **Bloque “Ejecutar expresión”** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso se utilizan dos expresiones.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7swG9uCBYIzwGh3z0v0zLggd6tYGRZg540R2DDxcwamBo1VznH8cbyluLhTmVmIot2nkhtqHMtbKaZm39WAOAk9g1mDDwJ-NTMYOylQ0vGFXJrRz0C8YtGjurgcFYYxPJdtgeVw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

7.3 **Bloque “ToDo”** se utiliza como un marcador de posición o recordatorio para funciones que se planean implementar. A diferencia del bloque “Comentario”, este bloque es un elemento del escenario, pero no realiza ninguna acción.

7.4 – 7.11 **Bloques “Agregar fila”** permiten agregar una fila a la tabla de datos. Para estos bloques se han especificado las siguientes propiedades:

* Tabla (tabla de datos a la que se agrega la fila);
* Valores (lista de valores de la nueva fila).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcnrdRWYjFZsiYDK-D7jwH5y1ioZXZlGejF_oir6NO6ymgqjDrzDxiCAuP6-1qtwRvhhlQ1PQgrFWbFob_Us20pJJr_SaGRrFTHOzXdqti2A9HLEHWDeDKaX4-HUUjyeMlmBPSVbw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc4OeWFSDbHmuKreq6k5hp1s9eqpWJFCWbp7Nb8xJpixZhT5NV1o6q18xovoIanAfGtsr2rBpKD-tItw-aBy-gEqVEP4yCkFxfdXmIXtKLhNVrK5LnD7iyKiOQh14xs-B0cIOqJKA?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcVpBqfLNPdDQoF5uOjiWhPjS6vt1sQSGSjCTbKQUpPNUlQoE6zFphcpTlX0-U9CVFTe_4GoytvOGF3I6a0TkfDwHsXMjOqhgJVKEqGNsNP2SFoBs5F800EC2mwPHmr-wW7q6JVpQ?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeyWVghcDxdHtRps-WwZadQLqAyFmlTQ0zzxerzb_YTE1XTFdy5oscDI7Dq0PZdnLLTjS6tZhoxplGZFWXTCmuDJ07oMFo4aapeZ33oSIJ8HFPz1OGkdOxV-aeaSLfasZaJ_m1FPg?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcHuaC8FlYi2CadS9Z2u4aYgCfcmGQGKGq8d7cg1wS14f3K0J2MAw6gUBfFrs7K7zT280CU68oyWetdNp8A1el1hEypJeW3tXb_e3SslNaNIcp9Yq2I0nfU3dgftDsCm5pars6R3A?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd0MiwbM1eE_oou3zeEmALfhAl0ggN7Fdfm7aeDYxiRIA24aXhK6Qx_VPYgk0ZcB0rKVIx-IAUO9fL8fVi4M_hwWi8oHhL3yH1e9V-xgBmISnYH29XfEzOr0seOCXK2c_Rm4m6oNw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfF2eymX--DFxF2jKIgWocw69nVsh-_5zusNyhyP6BjxdkVHbaQ1rtw_WRNEZdEVAN0mjSwcprtCBG8_Max2lphJy7RszgMthaPqZ7YB0ghayjCdqPeixGzF1vIhHYxVfyWHV9D?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

7.12 – 7.13 **Bloque “Fin”** (este bloque finaliza la ejecución del guion o devuelve el diagrama del subproceso al proceso principal).

8. **Bloque “Agregar fila”** permite agregar una fila a la tabla de datos. Para este bloque se especifican las siguientes propiedades:

* Table/Tabla (tabla de datos a la que se agrega la fila);
* Values/Valores (lista de valores de la nueva fila).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfv0TCsH6xbGWuXLeJjb766S-aoQy-ObGTI6qFS_mFir5z_7OfIP9N-5QPfs1DvXcYGQzLa0pA8rDn1vR3cdYeXtNoaPb-9D-Hzl8cOJx8Xct7AXY1jmiEXPgTD9JA1C_GufDAuew?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

9. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del guion del robot. Para este bloque se indica la propiedad “Valor”. En las comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, este bloque registra en el log del robot el ID del cliente y su mensaje de texto. En el Orquestador, este mensaje del robot será marcado como “Info”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcnbZvgJYcD-j423o1XeXgzB84bZ4x-O6TsLJTDzMB_uTc-FVQbZKRKMN2ObQuE-MW-lQGtFgfjTeAaNB-wkKgYyLPNCNiD342W4MNuKUzm5reaoTLZAfzQjE0a3ofx6trvah_DTw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

10. **Bloque “Solicitud a ChatGPT”** permite enviar solicitudes a los nuevos modelos generativos de Open AI comenzando con ChatGPT. Con él puede crear nuevos textos a pedido, realizar diversas tareas de clasificación, resumen, traducción y reescritura de textos, escribir prototipos de código en diferentes lenguajes de programación, analizar datos semiestructurados y no estructurados, extraer y procesar hechos, mantener un diálogo sobre diversos temas, y mucho más. El pago por el uso de esta funcionalidad se deduce de la cuenta del cliente en la plataforma. Para fines de prueba, a cada nuevo usuario se le da la oportunidad de probar esta funcionalidad sin costo. Al utilizar esta funcionalidad, después de finalizar el desarrollo del robot, se requiere pago. Para este bloque se especifican las siguientes propiedades:

* Historial de chat (historial de chat, sobre la base del contexto que la red neuronal debe generar una respuesta);
* Modelo (modelo para generar la respuesta);
* Temperatura (número decimal entre 0 y 1 que indica el grado de "aleatoriedad" o "creatividad" del resultado, donde 0 es el resultado menos creativo y 1 es el más aleatorio);
* Longitud máxima (longitud máxima del resultado, expresada en tokens condicionales);
* Autolimitación de longitud (la bandera establecida activa la autocorrección de la longitud máxima del resultado);
* Tiempo de espera (tiempo máximo de espera por respuesta en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcAdZF0udqVwnKIOiQDwPufqDI3m1T3b6Oyl7bFlKvnDryaQf8lEGbQwWToTI_iHbvPpStcyBdhVwTcILfq9iVm-PKGdnQECTinbUzLzi_vHwdx8qfNZC3vfJFATUuO9oxm24j5tQ?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

11. **Bloque “Agregar fila”** permite agregar una fila a la tabla de datos. Para este bloque se especifican las siguientes propiedades:

* Table/Tabla (tabla de datos a la que se agrega la fila);
* Values/Valores (lista de valores de la nueva fila).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdytFio-sRVjo_erlWU46qjyY_0yHan6fTyC78RkwXLSd-7XBmorM0TnvHDVWWHGbIbIiT8sXthf91HZ1m8JqFHxqhVNifXXeJLwTtqeB6Xqy4x8X3swq4Yv8M6ON31klt2Fjo2kA?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

12. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del guion del robot. Para este bloque se indica la propiedad “Valor”. En las comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, este bloque registra en el log del robot el ID del cliente y la respuesta a su solicitud. En el Orquestador, este mensaje del robot será marcado como “Info”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcFLQvCnGC2Xc7BCopmj_5ZLeURZeFlrwyoJfItOuRO8QX6LmD9V7eHdPDDXlEuIIs9mVRmgh9k6VFgLjYtuanVCRxh9g5LB4rCbMpE8TfkS9uShzOEqrw1dp_RtvCokQV6KakT?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

13. **Bloque “Bot. Enviar mensaje”** permite enviar un mensaje de texto en el chat. Para este bloque se especifican las siguientes propiedades:

* Conexión (objeto de conexión al bot. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Conexión", del bloque "Bot. Crear conexión" del grupo Telegram, que se utilizó anteriormente para conectarse al bot de Telegram);
* ID del chat (Id del chat. Este valor se obtiene del bloque "Bot. Obtener mensaje" en la propiedad "Mensaje");
* ID del mensaje (ID del mensaje al que se debe responder. Este valor se puede obtener del bloque "Bot. Obtener mensaje" en la propiedad "Mensaje");
* Texto (texto del mensaje).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeYiBSnuQ48GM5BhygrlHhnubxPvEyxNgn5XfaI4OqAHYCipbN_EZNWZhohtk0fsFnADE9BGO2CdsLwaUS4loFbkJPeErlzjqLjsJ8UEJUSFymDKIano3gn5WIoY6JS-tr47CLgHA?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

14. **Bloque “Guardar en CSV”** permite guardar la tabla de datos en un documento CSV. Para este bloque se especifican las siguientes propiedades:

* Tabla de Datos (tabla de datos que se debe guardar en el documento);
* Ruta al archivo (ruta al documento en el que se debe guardar la Tabla de Datos);
* Separador (símbolo separador, por defecto se utiliza el punto y coma);
* Codificación (codificación del archivo);
* Escribir encabezados (la bandera establecida activa la escritura de los encabezados de la tabla).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfusssfET3ZJAWVtjwh4Pk6xwmjba2lk58XjZB-xY6aKBW_UmP5aDBaT-tW7Muofsk3-DmruGqb7SKR7ePKRMqlnbOxXfP1rAtAfs3KEb7dZ_s_qiePH5JbafY_vh7NTqd9KyGf?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

15. **Bloque “Pausa”** pausa la ejecución del guion durante un tiempo determinado. Para este bloque se especifican las siguientes propiedades:

* Unidad de medida (unidad de medida en la que se especifica la duración de la pausa);
* Duración (valor del intervalo de tiempo en las unidades de medida especificadas).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfGH70q75WMcjk-El3mASVpobEnCybyjMOjUZvgcjj_RJZ_775iooNgHXDO_A8LX_0F4nu_MiAHyXgLTxUWlMU8U_gfJEJSh8rdYJM7t0yLFHb9yLKCWIqsMTz2CSX0DJSMOu4lWw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

16. **Bloque “Se requiere detener”** verifica la necesidad de detener el guion.

Para este bloque, en la salida, en la línea “Resultado” se indica la variable $NeedStop.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeD_luRdNC9UDBefCruJCcEYCxpEPwoDqG2c3vNKV7KA_vkb6r2UtVgRnMN3z8-YLW6sPMWyL7ERkqGU8YNQHov_vDrB2N4imB96spDYOV4PaoPX9VGO57tUchUPgrVp_xZOoo5Dw?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

17. **Bloque “Fin”** (este bloque finaliza la ejecución del guion o devuelve el diagrama del subproceso al proceso principal).

**Diagrama “Configuraciones”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdVPg8TXf4vtfEkSmiPnvIuUukdDKNgQ0O__2KWTzP7zJCx9kkq6jAoA3_fc3diEYgxtxBAJhRlpjPVYzpJxCT7FQ6FQ2-k6wMC8eYO2Phba0HAaX2TO0Ccs1j-64IkICSXuZtSTA?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Unir camino”** une las líneas en un camino. Para este bloque se ha especificado la propiedad “Camino inicial”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpjvRoB_fTRiLI27kGV-FlCUJ6eMQoaAa24SSFzCX9_6_YK0blX-Kt64w1X3KAvZZBm1FLqXcCO3lMNMN4JE6VZoa778al2eUmFwH5azVZL9adRildrCuUEd5Q9KowtscDaKQLGA?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

3. **Bloque “Crear carpeta”** permite crear una nueva carpeta. Para este bloque se ha especificado la propiedad “Nombre de la carpeta” (nombre completo de la nueva carpeta).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe57Rlg1zlsTyMKK08K9iwpILU9VL6_edKlGZjrAsbrwr9rDwKoLPH0wbVRVHU2QDI-N4oQ3c_6edACVDracJodfi5QT3H8kjZEB3D0acQvd1at7b5yYWMc9xwtN2fQBktXzAxh2Q?key=31TfmOJqwnG_FrKp-kM5Dugx" alt=""><figcaption></figcaption></figure>

4. **Bloque “Fin”** (este bloque finaliza la ejecución del guion o devuelve el diagrama del subproceso al proceso principal).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/primery-robotov/telegram-multi-user-bot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
