# huesos Basis for developing chat-robots with "Web App" technology for Telegram ## Installation ### AnangoDB 1. Create a Graph with the specified values **Name:** catalog<br> <br> **edgeDefinition:** entry<br> **fromCollections:** categoy, product<br> **toCollections:** category 2. Create a Graph with the specified values **Name:** sessions<br> <br> **edgeDefinition:** connect<br> **fromCollections:** account<br> **toCollections:** session 3. Create indexes for the "product" collection **Type:** "Inverted Index"<br> **Fields:** name.ru<br> **Analyzer:** "text_ru"<br> **Search field:** true<br> **Name:** name_ru<br> <br> *Add indexes for all search parameters and for all languages (search language is selected based on the user's language, <br> otherwise from the default language specified in the active settings from **settings** collection document)*<br> <br> *See fields in the `mirzaev/arming_bot/models/product`<br> **name.ru**, **description.ru** and **compatibility.ru*** 4. Create a View with the specified values **type:** search-alias (you can also use "arangosearch")<br> **name:** **product**s_search<br> **indexes:** ```json "indexes": [ { "collection": "product", "index": "title_ru" # THIS IS AN EXAMPLE } ] ``` ### NGINX 1. Example of NGINX server file ```nginx location / { try_files $uri $uri/ /index.php; } location ~ /(?<type>categories|products) { root /var/www/arming_bot/mirzaev/arming_bot/system/storage; try_files $uri =404; } location ~ \.php$ { ... } ``` ### SystemD (or any alternative you like) 1. Execute: `sudo cp telegram-huesos.service /etc/systemd/system/telegram-huesos.service` *before you execute the command think about **what it does** and whether the **paths** are specified correctly*<br> *the configuration file is very simple and you can remake it for any alternative to SystemD that you like* ## Settings Settings of chat-robot and Web App<br> <br> Make sure you have a **settings** collection (can be created automatically) and at least one document with the "status" parameter set to "active" ```json { "status": "active" } ``` ### language Language for system messages if user language could not be determined<br> <br> **Value:** en ## Suspensions System of suspensions of chat-robot and Web App<br> <br> Make sure you have a **suspension** collection (can be created automatically) ```json { "end": 1726068961, "targets": { "chat-robot": true, "web app": true } "access": { "tester": true, "developer": true }, "description": { "ru": "Разрабатываю каталог, поиск и корзину", "en": "I am developing a catalog, search and cart" } } ```