1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot) 2025-03-16 21:02:16 +03:00
parent 8d86925aa7
commit c252bf1bb2
90 changed files with 8477 additions and 7098 deletions

View File

@ -466,6 +466,48 @@ jobs:
path: ./docs/ru/results/SQLite
Testing-RCON:
runs-on: ubuntu-latest
needs: [Decode, Build]
steps:
- uses: actions/checkout@v2
- uses: otymko/setup-onescript@v1.4
with:
version: 1.9.1
- name: Получить тестовые данные из кэша
uses: actions/cache/restore@v3
with:
key: test-data
path: ./data.json
- name: Установить asserts и 1testrunner
run: |
opm install asserts
opm install 1testrunner
- name: Установить OInt
run: |
TEMP_DEB="$(mktemp)" &&
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.20.0/oint_1.20.0_all_ru.deb' &&
sudo dpkg -i "$TEMP_DEB"
rm -f "$TEMP_DEB"
- name: Выполнение команд
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os "CLI_RC_ВыполнениеКоманд"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3
with:
key: logs-RCON
path: ./docs/ru/results/RCON
Testing-YandexDisk:
runs-on: ubuntu-latest
needs: [Decode, Build]
@ -1515,7 +1557,7 @@ jobs:
Encode:
runs-on: ubuntu-latest
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-PostgreSQL,Testing-SQLite,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP,Testing-GreenAPI]
needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-PostgreSQL,Testing-SQLite,Testing-RCON,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP,Testing-GreenAPI]
if: ${{ always() }}
permissions:
contents: write
@ -1639,6 +1681,22 @@ jobs:
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-SQLite"
- name: Получить логи RCON
uses: actions/cache/restore@v3
with:
key: logs-RCON
path: ./docs/ru/results/RCON
- name: Очистка логов RCON
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-RCON"
- name: Получить логи YandexDisk
uses: actions/cache/restore@v3
with:
@ -1939,7 +1997,7 @@ jobs:
Clear-Cache:
runs-on: ubuntu-latest
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-PostgreSQL, Testing-SQLite, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Testing-GreenAPI, Encode]
needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-PostgreSQL, Testing-SQLite, Testing-RCON, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Testing-GreenAPI, Encode]
if: ${{ always() }}
steps:
- name: Очистка основного кэша

11
ci/cli_ostestru vendored
View File

@ -269,6 +269,17 @@ pipeline {
}
}
stage('Testing-RCON') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_RC_ВыполнениеКоманд"'
}
}
}
stage('Testing-YandexDisk') {
steps {

20
ci/clitesten vendored
View File

@ -81,6 +81,11 @@ pipeline {
test_postgres()
}
}
stage('rcon'){
steps{
test_rcon()
}
}
stage('s3'){
steps{
test_s3()
@ -1968,6 +1973,20 @@ def test_postgres(){
}
def test_rcon(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe rcon ExecuteCommand --exec "test" --conn "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe rcon FormConnectionParameters --url "test" --pass "test" --rtout "test" --wtout "test" --debug --test '
}
}
def test_s3(){
@ -3109,6 +3128,7 @@ test_neocities()
test_notion()
test_ozon()
test_postgres()
test_rcon()
test_s3()
test_slack()
test_sqlite()

20
ci/clitestru vendored
View File

@ -81,6 +81,11 @@ pipeline {
test_postgres()
}
}
stage('rcon'){
steps{
test_rcon()
}
}
stage('s3'){
steps{
test_s3()
@ -1968,6 +1973,20 @@ def test_postgres(){
}
def test_rcon(){
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe rcon ВыполнитьКоманду --exec "test" --conn "test" --debug --test '
}
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'./oint.exe rcon СформироватьПараметрыСоединения --url "test" --pass "test" --rtout "test" --wtout "test" --debug --test '
}
}
def test_s3(){
@ -3109,6 +3128,7 @@ test_neocities()
test_notion()
test_ozon()
test_postgres()
test_rcon()
test_s3()
test_slack()
test_sqlite()

11
ci/ostestru vendored
View File

@ -269,6 +269,17 @@ pipeline {
}
}
stage('Testing-RCON') {
steps {
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "RC_ВыполнениеКоманд"'
}
}
}
stage('Testing-YandexDisk') {
steps {

View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Password": "Jg9F..."
}

4
docs/en/data/RCON/ExecuteCommand.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Password": "Jg9F..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Password": "Jg9F..."
}

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -6,7 +6,7 @@
From = "11001234567@c.us";
Target = "120363410406221140@g.us";
Message = "BAE5A971ABCA3447";
Message = "BAE5509D550DFFF0";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.ForwardMessages(AccessParameters, From, Target, Message);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.GetGroupInformation(AccessParameters, GroupID);

View File

@ -4,7 +4,7 @@
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
ChatID = "120363410406221140@g.us";
MessageID = "BAE5A971ABCA3447";
MessageID = "BAE5509D550DFFF0";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.GetMessage(AccessParameters, ChatID, MessageID);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.LeaveGroup(AccessParameters, GroupID);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -4,7 +4,7 @@
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
Image = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Path or Binary Data
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.SetGroupPicture(AccessParameters, GroupID, Image);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
Name = "New name";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -0,0 +1,7 @@
 URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_RCON.CreateConnection(ConnectionParams);

View File

@ -0,0 +1,10 @@
 URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Connection = OPI_RCON.CreateConnection(ConnectionParams);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, Connection);

View File

@ -0,0 +1,6 @@
 URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
Result = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);

View File

@ -36,7 +36,7 @@ Method at API documentation: [AddGroupParticipant](https://green-api.com/docs/ap
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -36,7 +36,7 @@ Method at API documentation: [RemoveGroupParticipant](https://green-api.com/docs
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -35,7 +35,7 @@ Method at API documentation: [GetGroupData](https://green-api.com/docs/api/group
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.GetGroupInformation(AccessParameters, GroupID);

View File

@ -35,7 +35,7 @@ Method at API documentation: [LeaveGroup](https://green-api.com/docs/api/groups/
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.LeaveGroup(AccessParameters, GroupID);

View File

@ -36,7 +36,7 @@ Method at API documentation: [RemoveAdmin](https://green-api.com/docs/api/groups
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -36,7 +36,7 @@ Method at API documentation: [SetGroupAdmin](https://green-api.com/docs/api/grou
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
UserID = "123123123@c.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -39,7 +39,7 @@ Parameters with Binary data type can also accept file paths on disk and URLs
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
Image = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Path or Binary Data
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.SetGroupPicture(AccessParameters, GroupID, Image);

View File

@ -36,7 +36,7 @@ Method at API documentation: [UpdateGroupName](https://green-api.com/docs/api/gr
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
GroupID = "120363400384727005@g.us";
GroupID = "120363398372057168@g.us";
Name = "New name";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -37,7 +37,7 @@ Method at API documentation: [GetMessage](https://green-api.com/docs/api/journal
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
ChatID = "120363410406221140@g.us";
MessageID = "BAE5A971ABCA3447";
MessageID = "BAE5509D550DFFF0";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.GetMessage(AccessParameters, ChatID, MessageID);

View File

@ -40,7 +40,7 @@ Method at API documentation: [ForwardMessages](https://green-api.com/docs/api/se
From = "11001234567@c.us";
Target = "120363410406221140@g.us";
Message = "BAE5A971ABCA3447";
Message = "BAE5509D550DFFF0";
AccessParameters = OPI_GreenAPI.FormAccessParameters(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Result = OPI_GreenAPI.ForwardMessages(AccessParameters, From, Target, Message);

View File

@ -0,0 +1,45 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Create Connection
Opens a new RCON connection
`Function CreateConnection(Val ConnectionParams) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| ConnectionParams | - | Structure Of KeyAndValue | ✔ | Connection parameters. See FormConnectionParameters |
Returns: Arbitrary - Connector object or structure with error information
<br/>
:::caution
**NOCLI:** this method is not available in CLI version
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_RCON.CreateConnection(ConnectionParams);
```

View File

@ -0,0 +1,48 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Execute command
Executes the command on the server
`Function ExecuteCommand(Val Command, Val Connection) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Command | --exec | String | &#x2714; | Command text |
| Connection | --conn | Arbitrary, Structure Of KeyAndValue | &#x2714; | Connection or connection parameters |
Returns: Map Of KeyAndValue - Result of command execution
<br/>
:::tip
When passing connection parameters, a new connection will be created and closed within the execution of a single command. To execute several commands (in OS and 1C versions), it is recommended to use a connection created in advance (see CreateConnection)
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Connection = OPI_RCON.CreateConnection(ConnectionParams);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, Connection);
```

View File

@ -0,0 +1,42 @@
---
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Form connection parameters
Forms a collection of connection parameters
`Function FormConnectionParameters(Val URL, Val Password, Val ReadTimeout = 30, Val WriteTimeout = 30) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| URL | --url | String | &#x2714; | Server URL |
| Password | --pass | String | &#x2714; | Password for connection |
| ReadTimeout | --rtout | Number | &#x2716; | Response timeout (in seconds) |
| WriteTimeout | --wtout | Number | &#x2716; | Request sending timeout (in seconds) |
Returns: Structure Of KeyAndValue - Structure of connection parameters
<br/>
```bsl title="1C:Enterprise/OneScript code example"
URL = "127.0.0.1:25565";
Password = "Jg9F...";
WriteTimeout = 20;
ReadTimeout = 20;
Result = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
```

View File

@ -0,0 +1,39 @@
---
sidebar_position: 4
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Is connector
Checks that the value is an object of an RCON AddIn
`Function IsConnector(Val Value) Export`
| Parameter | CLI option | Type | Required | Description |
|-|-|-|-|-|
| Value | - | Arbitrary | &#x2714; | Value to check |
Returns: Boolean - Is connector
<br/>
:::caution
**NOCLI:** this method is not available in CLI version
:::
<br/>
```bsl title="1C:Enterprise/OneScript code example"
```

View File

@ -0,0 +1,4 @@
{
"label": "Commands execution",
"position": "2"
}

View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Пароль": "Jg9F..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Пароль": "Jg9F..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "127.0.0.1:25565",
"Пароль": "Jg9F..."
}

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
Имя = "New name";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -6,7 +6,7 @@
Откуда = "11001234567@c.us";
Куда = "120363410406221140@g.us";
Сообщение = "BAE5A971ABCA3447";
Сообщение = "BAE5509D550DFFF0";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПереслатьСообщения(ПараметрыДоступа, Откуда, Куда, Сообщение);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПокинутьГруппу(ПараметрыДоступа, IDГруппы);

View File

@ -3,7 +3,7 @@
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьИнформациюОГруппе(ПараметрыДоступа, IDГруппы);

View File

@ -4,7 +4,7 @@
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDЧата = "120363410406221140@g.us";
IDСообщения = "BAE5A971ABCA3447";
IDСообщения = "BAE5509D550DFFF0";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьСообщение(ПараметрыДоступа, IDЧата, IDСообщения);

View File

@ -4,7 +4,7 @@
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Путь или Двоичные данные
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.УстановитьКартинкуГруппы(ПараметрыДоступа, IDГруппы, Картинка);

View File

@ -0,0 +1,10 @@
 URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
Соединение = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
Команда = "list";
Результат = OPI_RCON.ВыполнитьКоманду(Команда, Соединение);

View File

@ -0,0 +1,7 @@
 URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
Результат = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);

View File

@ -0,0 +1,6 @@
 URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
Результат = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);

View File

@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьИнформациюОГруппе(ПараметрыДоступа, IDГруппы);

View File

@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПокинутьГруппу(ПараметрыДоступа, IDГруппы);

View File

@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
IDПользователя = "123123123@c.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -39,7 +39,7 @@ import TabItem from '@theme/TabItem';
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Путь или Двоичные данные
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.УстановитьКартинкуГруппы(ПараметрыДоступа, IDГруппы, Картинка);

View File

@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
IdInstance = "71051...";
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDГруппы = "120363400384727005@g.us";
IDГруппы = "120363398372057168@g.us";
Имя = "New name";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);

View File

@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
ApiTokenInstance = "425010d90e114aa6b78f0969e...";
IDЧата = "120363410406221140@g.us";
IDСообщения = "BAE5A971ABCA3447";
IDСообщения = "BAE5509D550DFFF0";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПолучитьСообщение(ПараметрыДоступа, IDЧата, IDСообщения);

View File

@ -40,7 +40,7 @@ import TabItem from '@theme/TabItem';
Откуда = "11001234567@c.us";
Куда = "120363410406221140@g.us";
Сообщение = "BAE5A971ABCA3447";
Сообщение = "BAE5509D550DFFF0";
ПараметрыДоступа = OPI_GreenAPI.СформироватьПараметрыДоступа(ApiUrl, MediaUrl, IdInstance, ApiTokenInstance);
Результат = OPI_GreenAPI.ПереслатьСообщения(ПараметрыДоступа, Откуда, Куда, Сообщение);

View File

@ -0,0 +1,45 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Открыть соединение
Открывает новое соединения RCON
`Функция ОткрытьСоединение(Знач ПараметрыСоединения) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| ПараметрыСоединения | - | Структура Из КлючИЗначение | &#x2714; | Параметры соединения. См. СформироватьПараметрыСоединения |
Возвращаемое значение: Произвольный - Объект коннектора или структура с информацией об ошибке
<br/>
:::caution
**NOCLI:** данный метод недоступен для использования в CLI версии
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
Результат = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
```

View File

@ -0,0 +1,48 @@
---
sidebar_position: 2
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Выполнить команду
Выполняет команду на сервере
`Функция ВыполнитьКоманду(Знач Команда, Знач Соединение) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Команда | --exec | Строка | &#x2714; | Текст команды |
| Соединение | --conn | Произвольный, Структура Из КлючИЗначение | &#x2714; | Соединение или параметры соединения |
Возвращаемое значение: Соответствие Из КлючИЗначение - Результат выполнения команды
<br/>
:::tip
При передаче параметров соединения, новое соединение будет создано и закрыто в рамках выполнения одной команды. Для выполнения нескольких команд (в версиях для OS и 1С) рекомендуется использовать заранее созданное соединение (см. ОткрытьСоединение)
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
Соединение = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
Команда = "list";
Результат = OPI_RCON.ВыполнитьКоманду(Команда, Соединение);
```

View File

@ -0,0 +1,42 @@
---
sidebar_position: 3
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Сформировать параметры соединения
Формирует коллекцию параметров соединения
`Функция СформироватьПараметрыСоединения(Знач URL, Знач Пароль, Знач ТаймаутЧтения = 30, Знач ТаймаутЗаписи = 30) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| URL | --url | Строка | &#x2714; | URL сервера |
| Пароль | --pass | Строка | &#x2714; | Пароль для подключения |
| ТаймаутЧтения | --rtout | Число | &#x2716; | Таймаут ожидания ответа (в секундах) |
| ТаймаутЗаписи | --wtout | Число | &#x2716; | Таймаут ожидания отправки запроса (в секундах) |
Возвращаемое значение: Структура Из КлючИЗначение - Структура параметров соединения
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
Результат = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
```

View File

@ -0,0 +1,39 @@
---
sidebar_position: 4
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Это коннектор
Проверяет, что значение является объектом внешней компоненты RCON
`Функция ЭтоКоннектор(Знач Значение) Экспорт`
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|-|-|-|-|-|
| Значение | - | Произвольный | &#x2714; | Значение для проверки |
Возвращаемое значение: Булево - Это коннектор
<br/>
:::caution
**NOCLI:** данный метод недоступен для использования в CLI версии
:::
<br/>
```bsl title="Пример использования для 1С:Предприятие/OneScript"
```

View File

@ -0,0 +1,4 @@
{
"label": "Выполнение команд",
"position": "2"
}

File diff suppressed because it is too large Load Diff

182
src/en/OInt/core/Modules/OPI_RCON.os vendored Normal file
View File

@ -0,0 +1,182 @@
// OneScript: ./OInt/core/Modules/OPI_RCON.os
// Lib: RCON
// CLI: rcon
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
#Use "../../tools"
#Region Public
#Region CommandsExecution
// Create Connection !NOCLI
// Opens a new RCON connection
//
// Parameters:
// ConnectionParams - Structure Of KeyAndValue - Connection parameters. See FormConnectionParameters - params
//
// Returns:
// Arbitrary - Connector object or structure with error information
Function CreateConnection(Val ConnectionParams) Export
If IsConnector(ConnectionParams) Then
Return ConnectionParams;
EndIf;
OPI_TypeConversion.GetKeyValueCollection(ConnectionParams);
RequiredArray = StrSplit("url,password,read_timeout,write_timeout", ",");
MissingArray = OPI_Tools.FindMissingCollectionFields(ConnectionParams, RequiredArray);
If ValueIsFilled(MissingArray) Then
Raise StrTemplate("Missing connection parameters: %1", StrConcat(MissingArray));
EndIf;
Connector = AttachAddInOnServer("OPI_RCON");
URL = ConnectionParams["url"];
Password = ConnectionParams["password"];
ReadTimeout = ConnectionParams["read_timeout"];
WriteTimeout = ConnectionParams["write_timeout"];
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Password);
OPI_TypeConversion.GetNumber(ReadTimeout);
OPI_TypeConversion.GetNumber(WriteTimeout);
Result = Connector.Connect(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_Tools.JsonToStructure(Result, False);
Return ?(Result["result"], Connector, Result);
EndFunction
// Execute command
// Executes the command on the server
//
// Note
// When passing connection parameters, a new connection will be created and closed within the execution of a single command.^^
// To execute several commands (in OS and 1C versions), it is recommended to use a connection created in advance (see CreateConnection)
//
// Parameters:
// Command - String - Command text - exec
// Connection - Arbitrary, Structure Of KeyAndValue - Connection or connection parameters - conn
//
// Returns:
// Map Of KeyAndValue - Result of command execution
Function ExecuteCommand(Val Command, Val Connection) Export
If IsConnector(Connection) Then
Connector = Connection;
Else
Connector = CreateConnection(Connection);
EndIf;
If Not IsConnector(Connector) Then
Return Connector;
EndIf;
OPI_TypeConversion.GetLine(Command);
Result = Connector.Command(Command);
Result = OPI_Tools.JsonToStructure(Result);
Return Result;
EndFunction
// Form connection parameters
// Forms a collection of connection parameters
//
// Parameters:
// URL - String - Server URL - url
// Password - String - Password for connection - pass
// ReadTimeout - Number - Response timeout (in seconds) - rtout
// WriteTimeout - Number - Request sending timeout (in seconds) - wtout
//
// Returns:
// Structure Of KeyAndValue - Structure of connection parameters
Function FormConnectionParameters(Val URL, Val Password, Val ReadTimeout = 30, Val WriteTimeout = 30) Export
ConnectionParams = New Structure;
OPI_Tools.AddField("url" , URL , "String" , ConnectionParams);
OPI_Tools.AddField("password" , Password , "String" , ConnectionParams);
OPI_Tools.AddField("read_timeout" , ReadTimeout , "Number" , ConnectionParams);
OPI_Tools.AddField("write_timeout", WriteTimeout, "Number" , ConnectionParams);
Return ConnectionParams;
EndFunction
// Is connector !NOCLI
// Checks that the value is an object of an RCON AddIn
//
// Parameters:
// Value - Arbitrary - Value to check - value
//
// Returns:
// Boolean - Is connector
Function IsConnector(Val Value) Export
Return String(TypeOf(Value)) = "AddIn.OPI_RCON.Main";
EndFunction
#EndRegion
#EndRegion
#Region Private
Function AttachAddInOnServer(Val AddInName, Val Class = "Main")
If OPI_Tools.IsOneScript() Then
TemplateName = OPI_Tools.AddInsFolderOS() + AddInName + ".zip";
Else
TemplateName = "CommonTemplate." + AddInName;
EndIf;
AttachAddIn(TemplateName, AddInName, AddInType.Native);
AddIn = New ("AddIn." + AddInName + "." + Class);
Return AddIn;
EndFunction
#EndRegion

View File

@ -12,6 +12,7 @@
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
<module name="OPI_PostgreSQL" file="core/Modules/OPI_PostgreSQL.os"/>
<module name="OPI_RCON" file="core/Modules/OPI_RCON.os"/>
<module name="OPI_S3" file="core/Modules/OPI_S3.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_SQLite" file="core/Modules/OPI_SQLite.os"/>

View File

@ -53,6 +53,7 @@
#Use "../../../tools"
#Use "../../../core"
#Use asserts
#Region Internal
// For YAxUnit
@ -2505,6 +2506,22 @@ EndProcedure
#EndRegion
#Region RCON
Procedure RC_CommandsExecution() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
RCON_FormConnectionParameters(TestParameters);
RCON_CreateConnection(TestParameters);
RCON_ExecuteCommand(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -19295,6 +19312,70 @@ EndProcedure
#EndRegion
#Region RCON
Procedure RCON_FormConnectionParameters(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Result = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
// END
Result["URL"] = "127.0.0.1:25565";
OPI_TestDataRetrieval.WriteLog(Result, "FormConnectionParameters", "RCON");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
Procedure RCON_CreateConnection(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_RCON.CreateConnection(ConnectionParams);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "RCON");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_RCON.Main");
EndProcedure
Procedure RCON_ExecuteCommand(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Connection = OPI_RCON.CreateConnection(ConnectionParams);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, ConnectionParams);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand (no connection)", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -2460,6 +2460,21 @@ EndProcedure
#EndRegion
#Region RCON
Procedure CLI_RC_CommandsExecution() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
CLI_RCON_FormConnectionParameters(TestParameters);
CLI_RCON_ExecuteCommand(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -21701,6 +21716,57 @@ EndProcedure
#EndRegion
#Region RCON
Procedure CLI_RCON_FormConnectionParameters(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("pass" , Password);
Options.Insert("wtout", WriteTimeout);
Options.Insert("rtout", ReadTimeout);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
Result["URL"] = "127.0.0.1:25565";
OPI_TestDataRetrieval.WriteLogCLI(Result, "FormConnectionParameters", "RCON");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
Procedure CLI_RCON_ExecuteCommand(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Command = "list";
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("pass" , Password);
Options.Insert("wtout", WriteTimeout);
Options.Insert("rtout", ReadTimeout);
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
Options.Insert("exec", Command);
Options.Insert("conn", ConnectionParams);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -56,6 +56,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Twitter" , 4);
Sections.Insert("PostgreSQL" , 5);
Sections.Insert("SQLite" , 5);
Sections.Insert("RCON" , 5);
Sections.Insert("YandexDisk" , 5);
Sections.Insert("GoogleWorkspace", 2);
Sections.Insert("GoogleCalendar" , 5);
@ -91,6 +92,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Twitter" , StandardDependencies);
Sections.Insert("PostgreSQL" , StandardDependencies);
Sections.Insert("SQLite" , StandardDependencies);
Sections.Insert("RCON" , StandardDependencies);
Sections.Insert("YandexDisk" , StandardDependencies);
Sections.Insert("GoogleWorkspace", StandardDependencies);
Sections.Insert("GoogleCalendar" , GoogleDependencies);
@ -140,6 +142,7 @@ Function GetTestTable() Export
SQLite = "SQLite";
Postgres = "PostgreSQL";
GreenAPI = "GreenAPI";
RCON = "RCON";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -285,6 +288,7 @@ Function GetTestTable() Export
NewTest(TestTable, "GAPI_MessageQueue" , "Message queue" , GreenAPI);
NewTest(TestTable, "GAPI_MessageLogs" , "Message logs" , GreenAPI);
NewTest(TestTable, "GAPI_Account" , "Account" , GreenAPI);
NewTest(TestTable, "RC_CommandsExecution" , "Commands execution" , RCON);
Return TestTable;

View File

@ -0,0 +1,182 @@
// OneScript: ./OInt/core/Modules/OPI_RCON.os
// Lib: RCON
// CLI: rcon
// MIT License
// Copyright (c) 2023 Anton Tsitavets
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
// https://github.com/Bayselonarrend/OpenIntegrations
// BSLLS:Typo-off
// BSLLS:LatinAndCyrillicSymbolInWord-off
// BSLLS:IncorrectLineBreak-off
// BSLLS:NumberOfOptionalParams-off
// BSLLS:UsingServiceTag-off
// BSLLS:LineLength-off
//@skip-check module-structure-top-region
//@skip-check module-structure-method-in-regions
//@skip-check wrong-string-literal-content
//@skip-check method-too-many-params
// Uncomment if OneScript is executed
// #Use "../../tools"
#Region Public
#Region CommandsExecution
// Create Connection !NOCLI
// Opens a new RCON connection
//
// Parameters:
// ConnectionParams - Structure Of KeyAndValue - Connection parameters. See FormConnectionParameters - params
//
// Returns:
// Arbitrary - Connector object or structure with error information
Function CreateConnection(Val ConnectionParams) Export
If IsConnector(ConnectionParams) Then
Return ConnectionParams;
EndIf;
OPI_TypeConversion.GetKeyValueCollection(ConnectionParams);
RequiredArray = StrSplit("url,password,read_timeout,write_timeout", ",");
MissingArray = OPI_Tools.FindMissingCollectionFields(ConnectionParams, RequiredArray);
If ValueIsFilled(MissingArray) Then
Raise StrTemplate("Missing connection parameters: %1", StrConcat(MissingArray));
EndIf;
Connector = AttachAddInOnServer("OPI_RCON");
URL = ConnectionParams["url"];
Password = ConnectionParams["password"];
ReadTimeout = ConnectionParams["read_timeout"];
WriteTimeout = ConnectionParams["write_timeout"];
OPI_TypeConversion.GetLine(URL);
OPI_TypeConversion.GetLine(Password);
OPI_TypeConversion.GetNumber(ReadTimeout);
OPI_TypeConversion.GetNumber(WriteTimeout);
Result = Connector.Connect(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_Tools.JsonToStructure(Result, False);
Return ?(Result["result"], Connector, Result);
EndFunction
// Execute command
// Executes the command on the server
//
// Note
// When passing connection parameters, a new connection will be created and closed within the execution of a single command.^^
// To execute several commands (in OS and 1C versions), it is recommended to use a connection created in advance (see CreateConnection)
//
// Parameters:
// Command - String - Command text - exec
// Connection - Arbitrary, Structure Of KeyAndValue - Connection or connection parameters - conn
//
// Returns:
// Map Of KeyAndValue - Result of command execution
Function ExecuteCommand(Val Command, Val Connection) Export
If IsConnector(Connection) Then
Connector = Connection;
Else
Connector = CreateConnection(Connection);
EndIf;
If Not IsConnector(Connector) Then
Return Connector;
EndIf;
OPI_TypeConversion.GetLine(Command);
Result = Connector.Command(Command);
Result = OPI_Tools.JsonToStructure(Result);
Return Result;
EndFunction
// Form connection parameters
// Forms a collection of connection parameters
//
// Parameters:
// URL - String - Server URL - url
// Password - String - Password for connection - pass
// ReadTimeout - Number - Response timeout (in seconds) - rtout
// WriteTimeout - Number - Request sending timeout (in seconds) - wtout
//
// Returns:
// Structure Of KeyAndValue - Structure of connection parameters
Function FormConnectionParameters(Val URL, Val Password, Val ReadTimeout = 30, Val WriteTimeout = 30) Export
ConnectionParams = New Structure;
OPI_Tools.AddField("url" , URL , "String" , ConnectionParams);
OPI_Tools.AddField("password" , Password , "String" , ConnectionParams);
OPI_Tools.AddField("read_timeout" , ReadTimeout , "Number" , ConnectionParams);
OPI_Tools.AddField("write_timeout", WriteTimeout, "Number" , ConnectionParams);
Return ConnectionParams;
EndFunction
// Is connector !NOCLI
// Checks that the value is an object of an RCON AddIn
//
// Parameters:
// Value - Arbitrary - Value to check - value
//
// Returns:
// Boolean - Is connector
Function IsConnector(Val Value) Export
Return String(TypeOf(Value)) = "AddIn.OPI_RCON.Main";
EndFunction
#EndRegion
#EndRegion
#Region Private
Function AttachAddInOnServer(Val AddInName, Val Class = "Main")
If OPI_Tools.IsOneScript() Then
TemplateName = OPI_Tools.AddInsFolderOS() + AddInName + ".zip";
Else
TemplateName = "CommonTemplate." + AddInName;
EndIf;
AttachAddIn(TemplateName, AddInName, AddInType.Native);
AddIn = New ("AddIn." + AddInName + "." + Class);
Return AddIn;
EndFunction
#EndRegion

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4ed55122-2475-453b-85cf-882e3d62efe1">
<name>OPI_RCON</name>
<synonym>
<key>en</key>
<value>RCON (OpenIntegrations)</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>

View File

@ -56,6 +56,7 @@ Function GetTestingSectionMapping() Export
Sections.Insert("Twitter" , 4);
Sections.Insert("PostgreSQL" , 5);
Sections.Insert("SQLite" , 5);
Sections.Insert("RCON" , 5);
Sections.Insert("YandexDisk" , 5);
Sections.Insert("GoogleWorkspace", 2);
Sections.Insert("GoogleCalendar" , 5);
@ -91,6 +92,7 @@ Function GetTestingSectionMappingGA() Export
Sections.Insert("Twitter" , StandardDependencies);
Sections.Insert("PostgreSQL" , StandardDependencies);
Sections.Insert("SQLite" , StandardDependencies);
Sections.Insert("RCON" , StandardDependencies);
Sections.Insert("YandexDisk" , StandardDependencies);
Sections.Insert("GoogleWorkspace", StandardDependencies);
Sections.Insert("GoogleCalendar" , GoogleDependencies);
@ -140,6 +142,7 @@ Function GetTestTable() Export
SQLite = "SQLite";
Postgres = "PostgreSQL";
GreenAPI = "GreenAPI";
RCON = "RCON";
TestTable = New ValueTable;
TestTable.Columns.Add("Method");
@ -285,6 +288,7 @@ Function GetTestTable() Export
NewTest(TestTable, "GAPI_MessageQueue" , "Message queue" , GreenAPI);
NewTest(TestTable, "GAPI_MessageLogs" , "Message logs" , GreenAPI);
NewTest(TestTable, "GAPI_Account" , "Account" , GreenAPI);
NewTest(TestTable, "RC_CommandsExecution" , "Commands execution" , RCON);
Return TestTable;

View File

@ -53,6 +53,7 @@
// #Use "../../../tools"
// #Use "../../../core"
// #Use asserts
#Region Internal
// For YAxUnit
@ -2505,6 +2506,22 @@ EndProcedure
#EndRegion
#Region RCON
Procedure RC_CommandsExecution() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
RCON_FormConnectionParameters(TestParameters);
RCON_CreateConnection(TestParameters);
RCON_ExecuteCommand(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -19295,6 +19312,70 @@ EndProcedure
#EndRegion
#Region RCON
Procedure RCON_FormConnectionParameters(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Result = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
// END
Result["URL"] = "127.0.0.1:25565";
OPI_TestDataRetrieval.WriteLog(Result, "FormConnectionParameters", "RCON");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
Procedure RCON_CreateConnection(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Result = OPI_RCON.CreateConnection(ConnectionParams);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateConnection", "RCON");
OPI_TestDataRetrieval.Check_AddIn(Result, "AddIn.OPI_RCON.Main");
EndProcedure
Procedure RCON_ExecuteCommand(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
ConnectionParams = OPI_RCON.FormConnectionParameters(URL, Password, ReadTimeout, WriteTimeout);
Connection = OPI_RCON.CreateConnection(ConnectionParams);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, Connection);
// END
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
Command = "list";
Result = OPI_RCON.ExecuteCommand(Command, ConnectionParams);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand (no connection)", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -2460,6 +2460,21 @@ EndProcedure
#EndRegion
#Region RCON
Procedure CLI_RC_CommandsExecution() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("RCON_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("RCON_Password", TestParameters);
CLI_RCON_FormConnectionParameters(TestParameters);
CLI_RCON_ExecuteCommand(TestParameters);
EndProcedure
#EndRegion
#EndRegion
#EndRegion
@ -21701,6 +21716,57 @@ EndProcedure
#EndRegion
#Region RCON
Procedure CLI_RCON_FormConnectionParameters(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("pass" , Password);
Options.Insert("wtout", WriteTimeout);
Options.Insert("rtout", ReadTimeout);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
Result["URL"] = "127.0.0.1:25565";
OPI_TestDataRetrieval.WriteLogCLI(Result, "FormConnectionParameters", "RCON");
OPI_TestDataRetrieval.Check_Structure(Result);
EndProcedure
Procedure CLI_RCON_ExecuteCommand(FunctionParameters)
URL = FunctionParameters["RCON_URL"];
Password = FunctionParameters["RCON_Password"];
WriteTimeout = 20;
ReadTimeout = 20;
Command = "list";
Options = New Structure;
Options.Insert("url" , URL);
Options.Insert("pass" , Password);
Options.Insert("wtout", WriteTimeout);
Options.Insert("rtout", ReadTimeout);
ConnectionParams = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "FormConnectionParameters", Options);
Options.Insert("exec", Command);
Options.Insert("conn", ConnectionParams);
Result = OPI_TestDataRetrieval.ExecuteTestCLI("rcon", "ExecuteCommand", Options);
OPI_TestDataRetrieval.WriteLog(Result, "ExecuteCommand", "RCON");
OPI_TestDataRetrieval.Check_ResultTrue(Result);
EndProcedure
#EndRegion
#EndRegion
#EndRegion

View File

@ -56,6 +56,7 @@
<commonModules>CommonModule.OPI_Notion</commonModules>
<commonModules>CommonModule.OPI_Ozon</commonModules>
<commonModules>CommonModule.OPI_PostgreSQL</commonModules>
<commonModules>CommonModule.OPI_RCON</commonModules>
<commonModules>CommonModule.OPI_Slack</commonModules>
<commonModules>CommonModule.OPI_SQLite</commonModules>
<commonModules>CommonModule.OPI_S3</commonModules>

View File

@ -0,0 +1,76 @@
Function ПолучитьСостав() Export
CompositionTable = New ValueTable();
CompositionTable.Columns.Add("Библиотека");
CompositionTable.Columns.Add("Модуль");
CompositionTable.Columns.Add("Метод");
CompositionTable.Columns.Add("МетодПоиска");
CompositionTable.Columns.Add("Параметр");
CompositionTable.Columns.Add("Описание");
CompositionTable.Columns.Add("ОписаниеМетода");
CompositionTable.Columns.Add("Область");
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "ExecuteCommand";
NewLine.МетодПоиска = "EXECUTECOMMAND";
NewLine.Параметр = "--exec";
NewLine.Описание = "Command text";
NewLine.Область = "Commands execution";
NewLine.ОписаниеМетода = "Executes the command on the server";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "ExecuteCommand";
NewLine.МетодПоиска = "EXECUTECOMMAND";
NewLine.Параметр = "--conn";
NewLine.Описание = "Connection or connection parameters";
NewLine.Область = "Commands execution";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "FormConnectionParameters";
NewLine.МетодПоиска = "FORMCONNECTIONPARAMETERS";
NewLine.Параметр = "--url";
NewLine.Описание = "Server URL";
NewLine.Область = "Commands execution";
NewLine.ОписаниеМетода = "Forms a collection of connection parameters";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "FormConnectionParameters";
NewLine.МетодПоиска = "FORMCONNECTIONPARAMETERS";
NewLine.Параметр = "--pass";
NewLine.Описание = "Password for connection";
NewLine.Область = "Commands execution";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "FormConnectionParameters";
NewLine.МетодПоиска = "FORMCONNECTIONPARAMETERS";
NewLine.Параметр = "--rtout";
NewLine.Описание = "Response timeout (in seconds) (optional, def. val. - 30)";
NewLine.Область = "Commands execution";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "rcon";
NewLine.Модуль = "OPI_RCON";
NewLine.Метод = "FormConnectionParameters";
NewLine.МетодПоиска = "FORMCONNECTIONPARAMETERS";
NewLine.Параметр = "--wtout";
NewLine.Описание = "Request sending timeout (in seconds) (optional, def. val. - 30)";
NewLine.Область = "Commands execution";
Return CompositionTable;
EndFunction

View File

@ -20,6 +20,7 @@
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
СоответствиеКомандМодулей.Вставить("postgres", "OPI_PostgreSQL");
СоответствиеКомандМодулей.Вставить("rcon", "OPI_RCON");
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
СоответствиеКомандМодулей.Вставить("sqlite", "OPI_SQLite");

View File

@ -2511,7 +2511,7 @@
Процедура RC_ВыполнениеКоманд() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
@ -19316,8 +19316,8 @@
Процедура RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
@ -19333,8 +19333,8 @@
Процедура RCON_ОткрытьСоединение(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
@ -19350,8 +19350,8 @@
Процедура RCON_ВыполнитьКоманду(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;

View File

@ -2465,7 +2465,7 @@
Процедура CLI_RC_ВыполнениеКоманд() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
CLI_RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
@ -21720,8 +21720,8 @@
Процедура CLI_RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License
@ -2511,7 +2511,7 @@
Процедура RC_ВыполнениеКоманд() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
@ -19316,8 +19316,8 @@
Процедура RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
@ -19333,8 +19333,8 @@
Процедура RCON_ОткрытьСоединение(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
@ -19350,8 +19350,8 @@
Процедура RCON_ВыполнитьКоманду(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;

View File

@ -2465,7 +2465,7 @@
Процедура CLI_RC_ВыполнениеКоманд() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("RCON_Password", ПараметрыТеста);
CLI_RCON_СформироватьПараметрыСоединения(ПараметрыТеста);
@ -21720,8 +21720,8 @@
Процедура CLI_RCON_СформироватьПараметрыСоединения(ПараметрыФункции)
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
URL = ПараметрыФункции["RCON_URL"];
Пароль = ПараметрыФункции["RCON_Password"];
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;

View File

@ -0,0 +1,76 @@
Функция ПолучитьСостав() Экспорт
ТаблицаСостава = Новый ТаблицаЗначений();
ТаблицаСостава.Колонки.Добавить("Библиотека");
ТаблицаСостава.Колонки.Добавить("Модуль");
ТаблицаСостава.Колонки.Добавить("Метод");
ТаблицаСостава.Колонки.Добавить("МетодПоиска");
ТаблицаСостава.Колонки.Добавить("Параметр");
ТаблицаСостава.Колонки.Добавить("Описание");
ТаблицаСостава.Колонки.Добавить("ОписаниеМетода");
ТаблицаСостава.Колонки.Добавить("Область");
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "ВыполнитьКоманду";
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬКОМАНДУ";
НоваяСтрока.Параметр = "--exec";
НоваяСтрока.Описание = "Текст команды";
НоваяСтрока.Область = "Выполнение команд";
НоваяСтрока.ОписаниеМетода = "Выполняет команду на сервере";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "ВыполнитьКоманду";
НоваяСтрока.МетодПоиска = "ВЫПОЛНИТЬКОМАНДУ";
НоваяСтрока.Параметр = "--conn";
НоваяСтрока.Описание = "Соединение или параметры соединения";
НоваяСтрока.Область = "Выполнение команд";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "СформироватьПараметрыСоединения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬПАРАМЕТРЫСОЕДИНЕНИЯ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL сервера";
НоваяСтрока.Область = "Выполнение команд";
НоваяСтрока.ОписаниеМетода = "Формирует коллекцию параметров соединения";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "СформироватьПараметрыСоединения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬПАРАМЕТРЫСОЕДИНЕНИЯ";
НоваяСтрока.Параметр = "--pass";
НоваяСтрока.Описание = "Пароль для подключения";
НоваяСтрока.Область = "Выполнение команд";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "СформироватьПараметрыСоединения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬПАРАМЕТРЫСОЕДИНЕНИЯ";
НоваяСтрока.Параметр = "--rtout";
НоваяСтрока.Описание = "Таймаут ожидания ответа (в секундах) (необяз. по ум. - 30)";
НоваяСтрока.Область = "Выполнение команд";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "rcon";
НоваяСтрока.Модуль = "OPI_RCON";
НоваяСтрока.Метод = "СформироватьПараметрыСоединения";
НоваяСтрока.МетодПоиска = "СФОРМИРОВАТЬПАРАМЕТРЫСОЕДИНЕНИЯ";
НоваяСтрока.Параметр = "--wtout";
НоваяСтрока.Описание = "Таймаут ожидания отправки запроса (в секундах) (необяз. по ум. - 30)";
НоваяСтрока.Область = "Выполнение команд";
Возврат ТаблицаСостава;
КонецФункции

View File

@ -20,6 +20,7 @@
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
СоответствиеКомандМодулей.Вставить("ozon", "OPI_Ozon");
СоответствиеКомандМодулей.Вставить("postgres", "OPI_PostgreSQL");
СоответствиеКомандМодулей.Вставить("rcon", "OPI_RCON");
СоответствиеКомандМодулей.Вставить("s3", "OPI_S3");
СоответствиеКомандМодулей.Вставить("slack", "OPI_Slack");
СоответствиеКомандМодулей.Вставить("sqlite", "OPI_SQLite");