1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-02 03:38:55 +02:00

Документация Docusaurus

This commit is contained in:
Anton 2024-01-14 01:48:49 +03:00
parent 1371ff92f4
commit 4936764b40
181 changed files with 19408 additions and 0 deletions

20
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,20 @@
# Dependencies
/node_modules
# Production
/build
# Generated files
.docusaurus
.cache-loader
# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

41
docs/README.md Normal file
View File

@ -0,0 +1,41 @@
# Website
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
### Installation
```
$ yarn
```
### Local Development
```
$ yarn start
```
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
### Build
```
$ yarn build
```
This command generates static content into the `build` directory and can be served using any static contents hosting service.
### Deployment
Using SSH:
```
$ USE_SSH=true yarn deploy
```
Not using SSH:
```
$ GIT_USER=<Your GitHub username> yarn deploy
```
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.

3
docs/babel.config.js Normal file
View File

@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};

View File

@ -0,0 +1,12 @@
---
slug: Версия-1.0.0.
title: Версия 1.0.0
authors:
name: Bayselonarrend
title: Bayselonarrend
url: https://github.com/bayselonarrend
image_url: https://avatars.githubusercontent.com/u/105596284?v=4
tags: [Релиз]
---
Первая версия Открытого пакета интеграции. Реализованы основные методы работы с Telegram, VK, Viber и Twitter

5
docs/blog/authors.yml Normal file
View File

@ -0,0 +1,5 @@
bayselonarrend:
name: Bayselonarrend
url: https://github.com/bayselonarrend
image_url: https://avatars.githubusercontent.com/u/105596284?v=4

View File

@ -0,0 +1,40 @@
---
id: Telegram
---
<img src={require('../../static/img/APIs/Telegram.png').default} width='64px' />
# Telegram
Этот раздел посвящен библиотеке для работы с Telegram API. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
- Создайте бота Telegram
1. Все действия при работе с Telegram API осуществляются посредством ботов. Для создания нового бота необходимо в мессенджере начать диалог с [@BotFather](https://t.me/BotFather)
![BF](../../static/img/Docs/Telegram/2.png)
2. Выбрать в меню команду */newbot*
![BF](../../static/img/Docs/Telegram/3.png)
3. BotFather предложит вам выбрать имя и никнейм бота, после чего процедура создания будет завершена
- Сохраните **токен**, который вам прислал BotFather после завершения создания бота
![BF](../../static/img/Docs/Telegram/1.png)
- (Дополнительно) Определитесь с целью взаимодействия
Созданного вами бота теперь можно применить двумя способами
- В качестве чат-бота
- Для автоматизации ведения канала
В зависимости от выбранного способа примения будет отличаться способ получения **ID чата** - параметра, отвечающего за определение объекта взаимодействия.
В случае с чат-ботом, ID чата будет являться ID пользователя, с которым бот осуществляет диалог. Если же бота необходимо использовать для ведения канала, то, после добавления его в качестве администратора, вместо ID чата можно использовать имя канала через @ (@MyChannel)
Токен и ID чата являются основными параметрами всех методов работы с Telegram API

View File

@ -0,0 +1,8 @@
{
"label": "Telegram",
"position": 2,
"link": {
"type": "doc",
"id": "Telegram"
}
}

View File

@ -0,0 +1,8 @@
{
"label": "Администрирование",
"position": 4,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют выполнять действия по администрированию каналов"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,28 @@
---
sidebar_position: 1
---
# Бан
Банит пользователя в выбранном чате
*Функция Бан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| IDПользователя | Строка/Число | ID целевого пользователя |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.Бан(Токен, "@testsichee", 1234567890); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```

View File

@ -0,0 +1,37 @@
---
sidebar_position: 3
---
# Закрепить сообщение
Закрепляет сообщение в шапке чата
*Функция ЗакрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| IDСообщения | Строка/Число | ID целевого сообщения |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ЗакрепитьСообщение(Токен, "@testsichee", 212); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/15.png)
```json title="Результат"
{
"result": true,
"ok": true
}
```

View File

@ -0,0 +1,35 @@
---
sidebar_position: 4
---
# Открепить сообщение
Открепляет сообщение в шапке чата
*Функция ОткрепитьСообщение(Знач Токен, Знач IDЧата, Знач IDСообщения) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| IDСообщения | Строка/Число | ID целевого сообщения |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ОткрепитьСообщение(Токен, "@testsichee", 212); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"result": true,
"ok": true
}
```

View File

@ -0,0 +1,34 @@
---
sidebar_position: 5
---
# Получить число участников
Получает общее число участников чата
*Функция ПолучитьЧислоУчастников(Знач Токен, Знач IDЧата) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ПолучитьЧислоУчастников(Токен, "@testsichee"); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"result": 2,
"ok": true
}
```

View File

@ -0,0 +1,28 @@
---
sidebar_position: 2
---
# Разбан
Разбанивает забаненного ранее пользователя
*Функция Разбан(Знач Токен, Знач IDЧата, Знач IDПользователя) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| IDПользователя | Строка/Число | ID целевого пользователя |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.Разбан(Токен, "@testsichee", 1234567890); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 6
---
# Создать ссылку-приглашение
Создает ссылку для вступления в закрытый чат
*Функция СоздатьСсылкуПриглашение(Знач Токен, Знач IDЧата, Знач Заголовок = "", Знач ДатаИстечения = "", Знач ЛимитПользователей = 0) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Заголовок | Строка (необяз.) | Имя приглашения |
| ДатаИстечения | Дата (необяз.) | Дата, после которой ссылка станет неактивной. Безсрочно по умолчанию |
| ЛимитПользователей | Число (необяз.) | Лимит вступлений по ссылке. Бесконечно по умолчанию |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
ДатаИстечения = ТекущаяДатаСеанса() + 60 * 60 * 24;
Ответ = OPI_Telegram.СоздатьСсылкуПриглашение(Токен, "@testsichee", "Приглашение", ДатаИстечения); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"result": {
"creates_join_request": false,
"is_revoked": false,
"expire_date": 1704646618,
"is_primary": false,
"creator": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"name": "Приглашение",
"invite_link": "https://t.me/+rGwUa7PARLcwM112"
},
"ok": true
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Получение данных и настройка",
"position": 3,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют получить данные и служебную информацию от бота"
}
}

View File

@ -0,0 +1,40 @@
---
sidebar_position: 1
---
# Получить информацию о боте
Выполняет запрос **/getMe**, возвращающий базовую информацию о боте: имя, id, возможность добавлять бота в группы и т.д.
*Функция ПолучитьИнформациюБота(Знач Токен) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ПолучитьИнформациюБота(Токен); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"result": {
"supports_inline_queries": false,
"can_read_all_group_messages": false,
"can_join_groups": true,
"username": "mynewcoolbot",
"first_name": "Me cool new bot",
"is_bot": true,
"id": 1234567890
},
"ok": true
}
```

View File

@ -0,0 +1,56 @@
---
sidebar_position: 1
---
# Получить обновления (информацию о новых событиях)
Выполняет запрос **/getUpdates**, возвращающий информацию о последних событиях бота. Используется при работе в *polling* режиме
*Функция ПолучитьОбновления(Знач Токен) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ПолучитьОбновления(Токен); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"result": [
{
"message": {
"text": "Yo",
"date": 1704531153,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"language_code": "ru",
"username": "JKIee",
"last_name": "Titowets",
"first_name": "Anton",
"is_bot": false,
"id": 1234567890
},
"message_id": 3
},
"update_id": 291363467
}
],
"ok": true
}
```

View File

@ -0,0 +1,46 @@
---
sidebar_position: 1
---
# Пример обработки данных
Пример разбора данных из HttpСервисЗапроса в читабельный вид при работе в режиме *webhook*
*Функция ОбработатьДанные(Знач Запрос) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Запрос | HttpСервисЗапрос | Запрос, приходящий на http-сервис, использующийся как обработчик webhook |
Вовзращаемое значение: Структура - Структура параметров в читабельном виде
```bsl title="HTTP-сервис модуль"
Функция TelegramMain(Запрос)
Данные = OPI_Telegram.ОбработатьДанные(Запрос)
//...
//Работа с данными
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
```
```bsl title="Структура"
СтруктураПараметровВыходная = Новый Структура;
СтруктураПараметровВыходная.Вставить("Вид" , "");
СтруктураПараметровВыходная.Вставить("Никнейм" , "");
СтруктураПараметровВыходная.Вставить("IDПользователя", "");
СтруктураПараметровВыходная.Вставить("IDСообщения" , "");
СтруктураПараметровВыходная.Вставить("IDЧата" , "");
СтруктураПараметровВыходная.Вставить("Сообщение" , "");
СтруктураПараметровВыходная.Вставить("Дата" , ТекущаяДатаСеанса());
СтруктураПараметровВыходная.Вставить("БотОтключен" , Ложь);
```

View File

@ -0,0 +1,34 @@
---
sidebar_position: 1
---
# Установить Webhook
Устанавливает адрес обработчика событий бота для работы в режиме webhook. При появлении нового события у бота, на данный адрес будет приходить http-запрос с информацией
*Функция УстановитьWebhook(Знач Токен, Знач URL) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| URL | Строка | Адрес обработки запросов от Telegram (с https://) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.УстановитьWebhook(Токен, "https://api.athenaeum.digital/opi/hs/telegram"); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
```json title="Результат"
{
"description": "Webhook was set",
"result": true,
"ok": true
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Отправка данных",
"position": 3,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют отправлять и пересылать данные в диалогах"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,69 @@
---
sidebar_position: 5
---
# Отправить аудио
Отправляет аудиофайл в чат или канал
*Функция ОтправитьАудио(Знач Токен, Знач IDЧата, Знач Текст, Знач Аудио, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Аудио | Двоичные данные / Строка | Двоичные данные аудио или путь к файлу |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = 111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ;
Описание = "Крутая песня";
ПутьКПесне = "C:\song.mp3";
Ответ = OPI_Telegram.ОтправитьАудио(Токен, 1234567890, Описание, ПутьКПесне); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/8.png)
```json title="Результат"
{
"result": {
"caption": "Крутая песня",
"audio": {
"file_size": 9229352,
"file_id": "CQACAgIAAxkDAAMZZZk4hgQeno7HIq5rbfhqofcfr6AAAog8AAIG99FI8QhH6WO7rcI0BA",
"performer": "Motorhead",
"title": "Dogs",
"mime_type": "audio/mpeg",
"file_name": "audio",
"file_unique_id": "AgADiDwAAgb30Ug",
"duration": 228
},
"date": 1704540294,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 25
},
"ok": true
}
```

View File

@ -0,0 +1,83 @@
---
sidebar_position: 3
---
# Отправить видео
Отправляет видео в чат или канал
*Функция ОтправитьВидео(Знач Токен, Знач IDЧата, Знач Текст, Знач Видео, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Видео | Двоичные данные / Строка | Двоичные данные видео или путь к файлу **(формат - MP4)** |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Описание = "Природа";
ПутьКВидео = "C:\video.mp4";
Ответ = OPI_Telegram.ОтправитьВидео(Токен, 1234567890, Описание, ПутьКВидео); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/6.png)
```json title="Результат"
{
"result": {
"caption": "Природа",
"video": {
"file_size": 4057213,
"file_id": "BAACAgIAAxkDAAMWZZkqV2M0extEs35nt26fVjfzvScAAgs-AAIG98lISPM63NtOju00BA",
"thumb": {
"height": 240,
"width": 320,
"file_size": 19154,
"file_unique_id": "AQADCz4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxZlmSpXYzR7G0Szfme3bp9WN_O9JwACCz4AAgb3yUhI8zrc206O7QEAB20AAzQE"
},
"thumbnail": {
"height": 240,
"width": 320,
"file_size": 19154,
"file_unique_id": "AQADCz4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxZlmSpXYzR7G0Szfme3bp9WN_O9JwACCz4AAgb3yUhI8zrc206O7QEAB20AAzQE"
},
"height": 480,
"mime_type": "video/mp4",
"file_name": "video",
"width": 640,
"file_unique_id": "AgADCz4AAgb3yUg",
"duration": 9
},
"date": 1704536663,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 22
},
"ok": true
}
```

View File

@ -0,0 +1,104 @@
---
sidebar_position: 4
---
# Отправить гифку
Отправляет гифку в чат или канал
*Функция ОтправитьГифку(Знач Токен, Знач IDЧата, Знач Текст, Знач Гифка, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Гифка | Двоичные данные / Строка | Двоичные данные гифки или путь к файлу |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Описание = "Классная гифка";
ПутьКГифке = "C:\2.gif";
Ответ = OPI_Telegram.ОтправитьГифку(Токен, 1234567890, Описание, ПутьКГифке); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
<img src={require('./img/7.gif').default} width='256px' />
```json title="Результат"
{
"result": {
"caption": "Классная гифка",
"document": {
"file_size": 29504,
"file_unique_id": "AgADKT4AAgb3yUg",
"file_id": "CgACAgIAAxkDAAMYZZktnDViD7n0xjC_SC3KR6-Rtn8AAik-AAIG98lIGs3XybT9Oz00BA",
"thumb": {
"height": 300,
"width": 320,
"file_size": 10418,
"file_unique_id": "AQADKT4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxhlmS2cNWIPufTGML9ILcpHr5G2fwACKT4AAgb3yUgazdfJtP07PQEAB20AAzQE"
},
"thumbnail": {
"height": 300,
"width": 320,
"file_size": 10418,
"file_unique_id": "AQADKT4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxhlmS2cNWIPufTGML9ILcpHr5G2fwACKT4AAgb3yUgazdfJtP07PQEAB20AAzQE"
},
"mime_type": "video/mp4",
"file_name": "animation.gif.mp4"
},
"animation": {
"file_size": 29504,
"file_id": "CgACAgIAAxkDAAMYZZktnDViD7n0xjC_SC3KR6-Rtn8AAik-AAIG98lIGs3XybT9Oz00BA",
"thumb": {
"height": 300,
"width": 320,
"file_size": 10418,
"file_unique_id": "AQADKT4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxhlmS2cNWIPufTGML9ILcpHr5G2fwACKT4AAgb3yUgazdfJtP07PQEAB20AAzQE"
},
"thumbnail": {
"height": 300,
"width": 320,
"file_size": 10418,
"file_unique_id": "AQADKT4AAgb3yUhy",
"file_id": "AAMCAgADGQMAAxhlmS2cNWIPufTGML9ILcpHr5G2fwACKT4AAgb3yUgazdfJtP07PQEAB20AAzQE"
},
"height": 300,
"file_unique_id": "AgADKT4AAgb3yUg",
"duration": 1,
"width": 320,
"mime_type": "video/mp4",
"file_name": "animation.gif.mp4"
},
"date": 1704537500,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 24
},
"ok": true
}
```

View File

@ -0,0 +1,149 @@
---
sidebar_position: 7
---
# Отправить группу медиафайлов
Отправляет набор файлов в чат или канал
*Функция ОтправитьМедиагруппу(Знач Токен, Знач IDЧата, Знач Текст, Знач СоответствиеФайлов, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| СоответствиеФайлов | Соответствие из Строка | Ключ - двоичные данны или путь к файлу, Значение - тип медиафайла См.ОтправитьФайл |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Описание = "Группа картинок";
СоответствиеФайлов = Новый Соответствие;
СоответствиеФайлов.Вставить("C:\OPI\alpaca.png" , "photo");
СоответствиеФайлов.Вставить("C:\OPI\alpaca_text.png", "photo");
Ответ = OPI_Telegram.ОтправитьМедиагруппу(Токен, 1234567890, Описание, СоответствиеФайлов); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ_); //JSON строка
```
![Результат](img/10.png)
```json title="Результат"
{
"result": [
{
"caption": "Группа картинок",
"photo": [
{
"height": 30,
"width": 90,
"file_size": 787,
"file_unique_id": "AQADf9IxG2MAAXlIeA",
"file_id": "AgACAgIAAxkDAAMbZZk9eS2GElIQ6qEvNoT3lpWJ1tEAAn_SMRtjAAF5SCTtUEGq6AwJAQADAgADcwADNAQ"
},
{
"height": 106,
"width": 320,
"file_size": 7080,
"file_unique_id": "AQADf9IxG2MAAXlIcg",
"file_id": "AgACAgIAAxkDAAMbZZk9eS2GElIQ6qEvNoT3lpWJ1tEAAn_SMRtjAAF5SCTtUEGq6AwJAQADAgADbQADNAQ"
},
{
"height": 266,
"width": 800,
"file_size": 25565,
"file_unique_id": "AQADf9IxG2MAAXlIfQ",
"file_id": "AgACAgIAAxkDAAMbZZk9eS2GElIQ6qEvNoT3lpWJ1tEAAn_SMRtjAAF5SCTtUEGq6AwJAQADAgADeAADNAQ"
},
{
"height": 426,
"width": 1280,
"file_size": 49308,
"file_unique_id": "AQADf9IxG2MAAXlIfg",
"file_id": "AgACAgIAAxkDAAMbZZk9eS2GElIQ6qEvNoT3lpWJ1tEAAn_SMRtjAAF5SCTtUEGq6AwJAQADAgADeQADNAQ"
},
{
"height": 853,
"width": 2560,
"file_size": 120918,
"file_unique_id": "AQADf9IxG2MAAXlIfA",
"file_id": "AgACAgIAAxkDAAMbZZk9eS2GElIQ6qEvNoT3lpWJ1tEAAn_SMRtjAAF5SCTtUEGq6AwJAQADAgADdwADNAQ"
}
],
"media_group_id": "13636332495269186",
"date": 1704541561,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 27
},
{
"photo": [
{
"height": 90,
"width": 90,
"file_size": 1613,
"file_unique_id": "AQADftIxG2MAAXlIeA",
"file_id": "AgACAgIAAxkDAAMcZZk9efFf-ZNjFTRxpkGahrDPv_0AAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADcwADNAQ"
},
{
"height": 320,
"width": 320,
"file_size": 18195,
"file_unique_id": "AQADftIxG2MAAXlIcg",
"file_id": "AgACAgIAAxkDAAMcZZk9efFf-ZNjFTRxpkGahrDPv_0AAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADbQADNAQ"
},
{
"height": 800,
"width": 800,
"file_size": 70046,
"file_unique_id": "AQADftIxG2MAAXlIfQ",
"file_id": "AgACAgIAAxkDAAMcZZk9efFf-ZNjFTRxpkGahrDPv_0AAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADeAADNAQ"
},
{
"height": 1024,
"width": 1024,
"file_size": 94427,
"file_unique_id": "AQADftIxG2MAAXlIfg",
"file_id": "AgACAgIAAxkDAAMcZZk9efFf-ZNjFTRxpkGahrDPv_0AAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADeQADNAQ"
}
],
"media_group_id": "13636332495269186",
"date": 1704541561,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 28
}
],
"ok": true
}
```

View File

@ -0,0 +1,66 @@
---
sidebar_position: 6
---
# Отправить документ
Отправляет документ в чат или канал
*Функция ОтправитьДокумент(Знач Токен, Знач IDЧата, Знач Текст, Знач Документ, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Документ | Двоичные данные / Строка | Двоичные данные картинки или путь к документу |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Описание = "Очень важный документ";
ПутьКДокументу = "C:\1.docx";
Ответ = OPI_Telegram.ОтправитьДокумент(Токен, 1234567890, Описание, ПутьКДокументу); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/9.png)
```json title="Результат"
{
"result": {
"caption": "Очень важный документ",
"document": {
"file_size": 156479,
"file_unique_id": "AgADRTsAAlUVyUg",
"file_id": "BQACAgIAAxkDAAMaZZk66eGouWpSt-5uhU-RHp6zTKAAAkU7AAJVFclIHgAB8tPqM0BjNAQ",
"mime_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"file_name": "document.docx"
},
"date": 1704540905,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 26
},
"ok": true
}
```

View File

@ -0,0 +1,89 @@
---
sidebar_position: 2
---
# Отправить картинку
Отправляет картинку в чат или канал
*Функция ОтправитьКартинку(Знач Токен, Знач IDЧата, Знач Текст, Знач Картинка, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Картинка | Двоичные данные / Строка | Двоичные данные картинки или путь к файлу |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Описание = "Это рисунок альпаки";
ПутьККартинке = "C:\alpaca.png";
Ответ = OPI_Telegram.ОтправитьКартинку(Токен, 1234567890, Описание, ПутьККартинке); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/5.png)
```json title="Результат"
{
"result": {
"caption": "Это рисунок альпаки",
"photo": [
{
"height": 90,
"width": 90,
"file_size": 1613,
"file_unique_id": "AQADftIxG2MAAXlIeA",
"file_id": "AgACAgIAAxkDAAMVZZkmU46YcTQFph55JuPPtTh-o_oAAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADcwADNAQ"
},
{
"height": 320,
"width": 320,
"file_size": 18195,
"file_unique_id": "AQADftIxG2MAAXlIcg",
"file_id": "AgACAgIAAxkDAAMVZZkmU46YcTQFph55JuPPtTh-o_oAAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADbQADNAQ"
},
{
"height": 800,
"width": 800,
"file_size": 70046,
"file_unique_id": "AQADftIxG2MAAXlIfQ",
"file_id": "AgACAgIAAxkDAAMVZZkmU46YcTQFph55JuPPtTh-o_oAAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADeAADNAQ"
},
{
"height": 1024,
"width": 1024,
"file_size": 94427,
"file_unique_id": "AQADftIxG2MAAXlIfg",
"file_id": "AgACAgIAAxkDAAMVZZkmU46YcTQFph55JuPPtTh-o_oAAn7SMRtjAAF5SCkLE2kgkDKPAQADAgADeQADNAQ"
}
],
"date": 1704535635,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 21
},
"ok": true
}
```

View File

@ -0,0 +1,62 @@
---
sidebar_position: 9
---
# Отправить контакт
Отправляет контакт с именем и номером телефона
*Функция ОтправитьКонтакт(Знач Токен, Знач IDЧата, Знач Имя, Знач Фамилия, Знач Телефон, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Имя | Строка | Имя контакта |
| Фамилия | Строка | Фамилия контакта |
| Телефон | Строка | Номер телефона |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ОтправитьКонтакт(Токен, 1234567890, "Петр", "Петров", "123123123") //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/12.png)
```json title="Результат"
{
"result": {
"contact": {
"last_name": "Петров",
"first_name": "Петр",
"phone_number": "123123123"
},
"date": 1704549937,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 30
},
"ok": true
}
```

View File

@ -0,0 +1,60 @@
---
sidebar_position: 8
---
# Отправить местоположение
Отправляет местоположение по географической широте и долготе в чат или канал
*Функция ОтправитьТекстовоеСообщение(Знач Токен, Знач IDЧата, Знач Текст, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Широта | Строка/Число | Географическая широта |
| Долгота | Строка/Число | Географическая долгота |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ОтправитьМестоположение(Токен, 1234567890, 48.87373649724122, 2.2954639195323967); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/11.png)
```json title="Результат"
{
"result": {
"location": {
"longitude": 1.999986,
"latitude": 48.00001
},
"date": 1704542212,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 29
},
"ok": true
}
```

View File

@ -0,0 +1,83 @@
---
sidebar_position: 10
---
# Отправить опрос
Отправляет опрос с вариантами ответа
*Функция ОтправитьОпрос(Знач Токен, Знач IDЧата, Знач Вопрос, Знач МассивОтветов, Знач Анонимный = Истина) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Вопрос | Строка | Заголовок опроса |
| МассивОтветов | Массив из Строка | Массив строк вариантов ответов |
| Анонимный | Булевно (необяз.) | Анонимный опроса. Неанонимные опросы в каналах не разрешены |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Синий");
Ответ = OPI_Telegram.ОтправитьОпрос(Токен, 1234567890, "Какой ваш любимый цвет?", МассивОтветов) //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/13.png)
```json title="Результат"
{
"result": {
"date": 1704550537,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"poll": {
"allows_multiple_answers": false,
"is_anonymous": true,
"is_closed": false,
"total_voter_count": 0,
"options": [
{
"voter_count": 0,
"text": "Красный"
},
{
"voter_count": 0,
"text": "Желтый"
},
{
"voter_count": 0,
"text": "Синий"
}
],
"type": "regular",
"question": "Какой ваш любимый цвет?",
"id": "5244746695866059262"
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 32
},
"ok": true
}
```

View File

@ -0,0 +1,84 @@
---
sidebar_position: 1
---
# Отправить текстовое сообщение
Отправляет текстовое сообщение в чат или канал
*Функция ОтправитьТекстовоеСообщение(Знач Токен, Знач IDЧата, Знач Текст, Знач Клавиатура = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDЧата | Строка/Число | ID целевого чата |
| Текст | Строка | Текст сообщения |
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См. [Сформировать клавиатуру по массиву кнопок](./%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83%20%D0%BF%D0%BE%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%83%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BE%D0%BA) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Отлично");
МассивКнопок.Добавить("Нормально");
МассивКнопок.Добавить("Плохо");
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Клавиатура = OPI_Telegram.СформироватьКлавиатуруПоМассивуКнопок(МассивКнопок, Истина, Истина);
ТекстСообщения = "Привет, как у тебя дела?";
Ответ = OPI_Telegram.ОтправитьТекстовоеСообщение(Токен, 1234567890, ТекстСообщения, Клавиатура); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/4.png)
```json title="Результат"
{
"result": {
"reply_markup": {
"inline_keyboard": [
[
{
"callback_data": "Отлично",
"text": "Отлично"
}
],
[
{
"callback_data": "Нормально",
"text": "Нормально"
}
],
[
{
"callback_data": "Плохо",
"text": "Плохо"
}
]
]
},
"text": "Привет, как у тебя дела?",
"date": 1704534349,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"message_id": 18
},
"ok": true
}
```

View File

@ -0,0 +1,75 @@
---
sidebar_position: 11
---
# Переслать сообщение
Пересылает сообщение между чатами или в рамках одного чата
*Функция ПереслатьСообщение(Знач Токен, Знач IDОригинала, Знач ОткудаID, Знач КудаID) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен бота |
| IDОригинала | Строка/Число | ID сообщения для пересылки |
| ОткудаID | Строка/Число | ID чата источника |
| КудаID | Строка/Число | ID чата приемника |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Токен = "111111111:AACccNYOAFbuhAL5GAaaBbbbOjZYFvLZZZZ";
Ответ = OPI_Telegram.ПереслатьСообщение(Токен, 211, "@testsichee", 1234567890) //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //JSON строка
```
![Результат](img/14.png)
```json title="Результат"
{
"result": {
"text": "Привет из канала",
"forward_date": 1704551053,
"forward_from_message_id": 211,
"forward_from_chat": {
"type": "channel",
"username": "testsichee",
"title": "Тестовый канал",
"id": -1111111111111
},
"date": 1704551074,
"chat": {
"username": "JKIee",
"type": "private",
"last_name": "Titowets",
"first_name": "Anton",
"id": 1234567890
},
"from": {
"username": "sicheebot",
"first_name": "Sichee",
"is_bot": true,
"id": 0987654321
},
"forward_origin": {
"date": 1704551053,
"chat": {
"type": "channel",
"username": "testsichee",
"title": "Тестовый канал",
"id": -1111111111111
},
"message_id": 211,
"type": "channel"
},
"message_id": 34
},
"ok": true
}
```

View File

@ -0,0 +1,60 @@
---
sidebar_position: 12
---
# Сформировать клавиатуру по массиву кнопок
Формирует простую JSON клавиатуру из массив кнопок для сообщения или нижней панели
*Функция СформироватьКлавиатуруПоМассивуКнопок(Знач МассивКнопок, Знач ПодСообщением = Ложь, Знач ОднаПодОдной = Истина) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| МассивКнопок | Массив из Строка | Массив кнопок |
| ПодСообщением | Булево (необяз.) | Истина - кнопки будут прикреплены под сообщением, Ложь - в виде клавиатуры на нижней панели. По умолчанию - Ложь |
| ОднаПодОдной | Булево (необяз.) | Истина - кнопки выводятся одна под одной, Ложь - в строку друг за другом. По умолчанию - Истина|
| Клавиатура | Строка (необяз.) | JSON клавиатуры. См.Сформировать клавиатуру по массиву кнопок |
Вовзращаемое значение: Строка - JSON клавиатуры
```bsl title="Пример кода"
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Отлично");
МассивКнопок.Добавить("Нормально");
МассивКнопок.Добавить("Плохо");
Клавиатура = OPI_Telegram.СформироватьКлавиатуруПоМассивуКнопок(МассивКнопок, Истина, Истина);
```
```json title="Результат"
{
"inline_keyboard":[
[
{
"text":"\u041E\u0442\u043B\u0438\u0447\u043D\u043E",
"callback_data":"\u041E\u0442\u043B\u0438\u0447\u043D\u043E"
}
],
[
{
"text":"\u041D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E",
"callback_data":"\u041D\u043E\u0440\u043C\u0430\u043B\u044C\u043D\u043E"
}
],
[
{
"text":"\u041F\u043B\u043E\u0445\u043E",
"callback_data":"\u041F\u043B\u043E\u0445\u043E"
}
]
],
"rows":1
}
```

View File

@ -0,0 +1,124 @@
---
id: Twitter
---
<img src={require('../../static/img/APIs/Twitter.png').default} width='64px' />
# Twitter | X
Этот раздел посвящен библиотеке для работы с Twitter API. На данной странице описаны все действия, необходимые для полноценного начала работы. Данная библиотека позволяет работать с функционалом бесплатного плана, т.е. создавать твиты. Однако, если у вас есть платная подписка более высокого уровня и вам нужны более продвинутые функции, то добавить их по примеру не составит никакого труда, так как общая база тут уже реализована:
- Авторизация OAuth 1.0a User Context для API версии 1 - Функция СоздатьЗаголовокАвторизацииV1()
- Авторизация OAuth 2.0 для API версии 2 - Функция СоздатьЗаголовокАвторизацииV2()
- Загрузка файлов: как одним запросом, так и чанками - Функция ЗагрузитьМедиафайл()
Далее будет описан принци работы с авторизацией и двумя версиями API, а примеры работы с API можно взять из функций ЗагрузитьМедиафайл() (для v1) и СоздатьПроизвольныйТвит() (для v2)
## Начало работы
Работа с Twitter подразумевает работу с двумя API - v1 (1.1) и v2, которые, при этом, не относятся к разным видам действий, но просто являются версиями друг друга. Несмотря на то, что Twitter настаивает на использовании v2, вышло так, что некоторые механизмы (в частности механизм загрузки файлов) в ней так и не появилися. Поэтому, даже для создания обычного твита с картинкой необходима работа с обеими версиями API, а, как следствие, двойной набор авторизационных данны. Этот набор описан в функции *ПолучитьСтандартныеПараметры()*
```bsl
Параметры_.Вставить("redirect_uri" , "");
Параметры_.Вставить("scope" , "");
Параметры_.Вставить("client_id" , "");
Параметры_.Вставить("client_secret" , "");
Параметры_.Вставить("access_token" , "");
Параметры_.Вставить("refresh_token" , "");
Параметры_.Вставить("oauth_token" , "");
Параметры_.Вставить("oauth_token_secret" , "");
Параметры_.Вставить("oauth_consumer_key" , "");
Параметры_.Вставить("oauth_consumer_secret", "");
```
Вы можете определить эти параметры прямо в структуре внутри данной функции или передавать непосредственно при вызове функций уже для работы с API - каждая из них принимает параметры последним необязательным параметром. При такой передаче стандартные параметры будут перезаписаны по ключам. Рассмотрим создание приложения и получение каждого поля
### Создание приложения
Для работы с Twitter API необходимо перейти по адресу [https://developer.twitter.com/](https://developer.twitter.com/), зарегистрироваться и создать новое приложение
![BF](../../static/img/Docs/Twitter/1.png)
![BF](../../static/img/Docs/Twitter/2.png)
![BF](../../static/img/Docs/Twitter/3.png)
![BF](../../static/img/Docs/Twitter/4.png)
![BF](../../static/img/Docs/Twitter/5.png)
### Определение полей
После создания приложения можно заполнить необходимые данные в 1С
- **redirect_uri**
redirect_uri - адрес обработчика http-запросов, указанный при регистрации. Авторизация API v2 требует подтверждения входа через браузер, после которого запрос со специальным кодом на данный обработчик должен будет прийти. Далее об этом будет в пункте access_token и refresh_token.
- **scope**
scope определяет доступные для работы функции. В *ПолучитьСтандартныеПараметры()* список scope определен по умолчанию.
- **client_id**
![BF](../../static/img/Docs/Twitter/6.png)
- **client_secret**
![BF](../../static/img/Docs/Twitter/7.png)
- **access_token** и **refresh_token**
Эти токены необходимо получить http запросом с указанием кода, который приходит при авторизации на http-сервис redirect_uri. Порядок действий
1. Создать ссылку для авторизации в браузере при помощи функции *ПолучитьСсылкуАвторизации*
2. Добавить в модуль http-сервиса (GET) вызов функции *ОбработкаВходящегоЗапросаПослеАвторизации*, передавая HTTPСервисЗапрос как параметр.
3. Авторизоваться в браузере по ссылке из п.1.
3. Сохранить access_token и refresh_token, полученный из функции *ОбработкаВходящегоЗапросаПослеАвторизации* п. 2, в константы или другое хранилище
```bsl title="Получение"
Функция Twitterget(Запрос)
Код = Запрос.ПараметрыЗапроса["code"];
ОтветТокен = OPI_Twitter.ПолучитьТокен(Код, Параметры);
Константы.TwitterRefresh.Установить(ОтветТокен["refresh_token"]);
Константы.TwitterToken.Установить(ОтветТокен["access_token"]);
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
```
```bsl title="Обновление"
Процедура ОбновлятьТокенКаждыеДваЧаса(Знач Параметры)
Ответ = OPI_Twitter.ОбновитьТокен(Параметры);
Константы.TwitterToken.Установить(Ответ["access_token"]);
Константы.TwitterRefresh.Установить(Ответ["refresh_token"]);
КонецПроцедуры
```
Хардкодить данные токены нельзя, так как acess_token действует всего 2 часа. По истечении этого времени, токен необходимо обновить функцией *ОбновитьТокен*. При этом обновляется как access_token, так и refresh_token. Т.е. при следующем обновлении сгоревшего acess_token токена, refresh_token должен быть из предыдущего запроса.
![BF](../../static/img/Docs/Twitter/8.png)
- **oauth_token** и **oauth_token_secret**
![BF](../../static/img/Docs/Twitter/9.png)
- **oauth_consumer_key** и **oauth_consumer_secret**
![BF](../../static/img/Docs/Twitter/10.png)
После заполнения данных полей можно приступать к работе с методами API

View File

@ -0,0 +1,8 @@
{
"label": "Twitter",
"position": 4,
"link": {
"type": "doc",
"id": "Twitter"
}
}

View File

@ -0,0 +1,8 @@
{
"label": "Работа с данными авторизации",
"position": 1,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют получить и обновлять данные, необходимые для авторизации"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,38 @@
---
sidebar_position: 3
---
# Обновить токен
Получает access_token и refresh_token по refresh_token из предыдущего запроса
Функция ОбновитьТокен(Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Ответ = OPI_Twitter.ОбновитьТокен(Параметры);
Константы.TwitterToken.Установить(Ответ["access_token"]);
Константы.TwitterRefresh.Установить(Ответ["refresh_token"]);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"refresh_token": "TmttM11111111111111111MY2dkNy1EZklLNmxIT1111111111111111xNTg2ODI6MTowOnJ0OjE",
"access_token": "UTBtWXd11111111111111111111113TkRxWEdxdF9hVlQzOjE3MDUwNTMxNTg2ODE6MTowOmF0OjE",
"scope": "mute.write tweet.moderate.write block.read follows.read offline.access list.write bookmark.read list.read tweet.write space.read block.write like.write like.read users.read tweet.read bookmark.write mute.read follows.write",
"expires_in": 7200,
"token_type": "bearer"
}
```

View File

@ -0,0 +1,26 @@
---
sidebar_position: 1
---
# Получить ссылку авторизации
Формирует URL для авторизации через браузер
Функция ПолучитьСсылкуАвторизации(Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Ответ = OPI_Twitter.ПолучитьСсылкуАвторизации(Параметры);
```
```json title="Результат"
"https://twitter.com/i/oauth2/authorize?response_type=code&client_id=ZG1vSmxlVTJXYi05M2c0ek9iV246MTpjaQ&redirect_uri=https%3A%2F%2Fapi.athenaeum.digital%2Fopi%2Fhs%2Ftwitter&scope=tweet.read%20tweet.write%20tweet.moderate.write%20users.read%20follows.read%20follows.write%20offline.access%20space.read%20mute.read%20mute.write%20like.read%20like.write%20list.read%20list.write%20block.read%20block.write%20bookmark.read%20bookmark.write&state=state&code_challenge=challenge&code_challenge_method=plain"
```

View File

@ -0,0 +1,36 @@
---
sidebar_position: 2
---
# Получить токен
Получает access_token по коду, приходящему на http-сервис после авторизации через браузер
Функция ПолучитьТокен(Знач Код, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Код | Строка | Код из запроса после авторизации |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Ответ = OPI_Twitter.ПолучитьТокен(Код, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"refresh_token": "TmttM11111111111111111MY2dkNy1EZklLNmxIT1111111111111111xNTg2ODI6MTowOnJ0OjE",
"access_token": "UTBtWXd11111111111111111111113TkRxWEdxdF9hVlQzOjE3MDUwNTMxNTg2ODE6MTowOmF0OjE",
"scope": "mute.write tweet.moderate.write block.read follows.read offline.access list.write bookmark.read list.read tweet.write space.read block.write like.write like.read users.read tweet.read bookmark.write mute.read follows.write",
"expires_in": 7200,
"token_type": "bearer"
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Создание твитов",
"position": 2,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют создавать твиты с различными вложениями"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@ -0,0 +1,29 @@
---
sidebar_position: 7
---
# Загрузить массив вложений
Загружает один или несколько файлов на сервер Twitter и возвращает массив их ID. Одновременно можно загружать только файлы одного типа
Функция ЗагрузитьМассивВложений(Знач МассивФайлов, Знач ТипВложений, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| МассивФайлов | Массив из ДвоичныеДанные,Строка | Одиночные или массив двоичных данных или путей к файлам |
| ТипВложений | Строка | Тип вложения по классификации Twitter |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Массив - Массив ID загруженных файлов
```bsl title="Пример кода"
МассивДанных = Новый Массив;
МассивДанных.Добавить("C:\GDrive\Мой диск\Проекты\ОПИ\logo.png");
МассивДанных.Добавить("C:\GDrive\Мой диск\Проекты\ОПИ\logo_long.png");
МассивКартинок = OPI_Twitter.ЗагрузитьМассивВложений(МассивДанных, "tweet_image", Параметры_);
```

View File

@ -0,0 +1,51 @@
---
sidebar_position: 6
---
# Создать произвольный твит
Создает твит с произвольным набором ID медиа или вариантами опроса. Служит основой для остальных функций создания твитов
Функция СоздатьПроизвольныйТвит(Знач Текст = "", Знач МассивМедиа = "", Знач МассивВариантовОпроса = "", Знач ДлительностьОпроса = "", Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| МассивМедиа | Массив из Строка (необяз.) | Массив из ID медиа, загруженных на Twitter |
| МассивВариантовОпроса | Массив из Строка (необяз.) | Массив вариантов опроса. Нельзя использовать, если есть загрузка медиа |
| ДлительностьОпроса | Строка, Число (необяз.) | Длительность опроса в минутах. Обязательна, если есть варианты опроса |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивМедиа = Новый Массив;
МассивКартинок = OPI_Twitter.ЗагрузитьМассивВложений("C:\GDrive\Мой диск\Проекты\ОПИ\logo.png", "tweet_image", Параметры_);
МассивВидео = OPI_Twitter.ЗагрузитьМассивВложений("C:\GDrive\Мой диск\Проекты\ОПИ\video.mp4", "tweet_video", Параметры_);
МассивМедиа.Добавить(МассивКартинок[0]);
МассивМедиа.Добавить(МассивВидео[0]);
Ответ = OPI_Twitter.СоздатьПроизвольныйТвит("Картинка и видео", МассивМедиа, , , Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/4.png)
```json title="Результат"
{
"data": {
"text": "Картинка и видео https://t.co/2KR1kW1111",
"id": "1746088369833058719",
"edit_history_tweet_ids": [
"1746088369833058719"
]
}
}
```

View File

@ -0,0 +1,47 @@
---
sidebar_position: 5
---
# Создать твит опрос
Создает твит с опросом
Функция СоздатьТвитОпрос(Знач Текст, Знач МассивВариантов, Знач Длительность, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| МассивВариантов | Массив из Строка | Массив вариантов ответа |
| Длительность | Строка,Число | Длительность опроса в минутах |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивВариантов = Новый Массив;
МассивВариантов.Добавить("Хорошо");
МассивВариантов.Добавить("Ничего особенного");
МассивВариантов.Добавить("Плохо");
Ответ = OPI_Twitter.СоздатьТвитОпрос("Как дела?", МассивВариантов, 60, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/5.png)
```json title="Результат"
{
"data": {
"text": "Как дела?",
"id": "1746082302268969388",
"edit_history_tweet_ids": [
"1746082302268969388"
]
}
}
```

View File

@ -0,0 +1,45 @@
---
sidebar_position: 4
---
# Создать твит с видео
Создает твит с видео
Функция СоздатьТвитВидео(Знач Текст, Знач МассивВидео, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| МассивВидео | Массив из Строка, Двоичные данные | Массив двоичных данных или путей к видео |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивКартинок = Новый Массив;
МассивКартинок.Добавить("C:\1.mp4");
МассивКартинок.Добавить("C:\2.mp4");
Ответ = OPI_Twitter.СоздатьТвитВидео("Природа", МассивКартинок, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/3.png)
```json title="Результат"
{
"data": {
"text": "Альпака https://t.co/OodoWT1AAA",
"id": "1745753004542726629",
"edit_history_tweet_ids": [
"1745753004542726629"
]
}
}
```

View File

@ -0,0 +1,45 @@
---
sidebar_position: 3
---
# Создать твит с гифкой
Создает твит с гифкой
Функция СоздатьТвитГифки(Знач Текст, Знач МассивГифок, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| МассивГифок | Массив из Строка, Двоичные данные | Массив двоичных данных или путей к гифкам |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивКартинок = Новый Массив;
МассивКартинок.Добавить("C:\1.gif");
МассивКартинок.Добавить("C:\2.gif");
Ответ = OPI_Twitter.СоздатьТвитГифки("Гифки", МассивКартинок, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/2.png)
```json title="Результат"
{
"data": {
"text": "Природа https://t.co/VWkWU11111",
"id": "1746086669499924991",
"edit_history_tweet_ids": [
"1746086669499924991"
]
}
}
```

View File

@ -0,0 +1,45 @@
---
sidebar_position: 2
---
# Создать твит с картинкой
Создает твит с картинкой
Функция СоздатьТвитКартинки(Знач Текст, Знач МассивКартинок, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| МассивКартинок | Массив из Строка, Двоичные данные | Массив двоичных данных или путей к картинкам |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
МассивКартинок = Новый Массив;
МассивКартинок.Добавить("C:\logo.png");
МассивКартинок.Добавить("C:\logo_long.png");
Ответ = OPI_Twitter.СоздатьТвитКартинки("Альпака", МассивКартинок, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/6.png)
```json title="Результат"
{
"data": {
"text": "Альпака https://t.co/OodoWT1AAA",
"id": "1745753004542726629",
"edit_history_tweet_ids": [
"1745753004542726629"
]
}
}
```

View File

@ -0,0 +1,40 @@
---
sidebar_position: 1
---
# Создать текстовый твит
Создает твит без вложений
Функция СоздатьТекстовыйТвит(Знач Текст, Знач Параметры = "") Экспорт
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст твита |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Telegram
```bsl title="Пример кода"
Ответ = OPI_Twitter.СоздатьТекстовыйТвит("Обычный текстовый твит", Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/0.png)
```json title="Результат"
{
"data": {
"text": "Обычный текстовый твит",
"id": "1745752006310895822",
"edit_history_tweet_ids": [
"1745752006310895822"
]
}
}
```

93
docs/docs/VK/VK.md Normal file
View File

@ -0,0 +1,93 @@
---
id: VK
---
<img src={require('../../static/img/APIs/VK.png').default} width='64px' />
# ВКонтакте
Этот раздел посвящен библиотеке для работы с VK API. Она заточена для работы с сообществами и выполнением действий от их имени. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
Для начала работы необходимо получить некоторые параметры для VK API.
<br/><br/>
Перечень необходимых данных в виде структуры содержится в функции *ПолучитьСтандартныеПараметры()*. Вы можете указывать значения параметров прямо в ней или же передавать их структурой при вызове любых других методов библиотеки в качестве необязательного параметра *Параметры* (последний во всех методах билиотеки). В последнем случае стандартные параметры будут перезаписаны по ключам теми, которые переданы при вызове метода. Перезаписаны будут только совпадающие по ключам данные. Если какой то параметр есть в наборе стандартных, но не был передан при вызове метода, то он сохранит стандартное значение.
<br/><br/>
```bsl
_Параметры = Новый Структура;
_Параметры.Вставить("v" , "5.131");
_Параметры.Вставить("from_group" , "1");
_Параметры.Вставить("group_id" , "123456789");
_Параметры.Вставить("owner_id" , "-123456789");
_Параметры.Вставить("app_id" , "87654321");
_Параметры.Вставить("access_token" , "vk1.a.E-byuFeG1qcN7...");
```
Рассмотрим получение каждого значения:
**1. v**
Параметр v означает версию VK API. Тестирование проводилось на 5.131, рекомендуется его таким и оставить
**2. from_group**
От лица группы. Должен быть 1
**3. group_id и owner_id**
ID группы. Если у вас стандартный адрес группы, то id можно найти в URL. В противном случае он будет на вкладке "Управление" в группе, под полем Адрес. owner_id - тоже самое, но со знаком '-' впереди
![BF](../../static/img/Docs/VK/1.png)
**4. app_id**
app_id - ID приложения. Для создания приложения необходимо:
* Перейти по адресу https://id.vk.com/about/business/go, авторизоваться и ввести свои данные физ. или юр. лица
![BF](../../static/img/Docs/VK/2.png)
* Ввести название приложения и выбрать пункт **Web**
![BF](../../static/img/Docs/VK/3.png)
* Ввести домееное имя и URL обработчика перенаправлений. Тут нужно отметить, что данный механизм создания приложений - новый. Еще недавно приложения VK создавались иначе и иметь redirect_url для них было не нужно. На данный момент не совсем понятно, зачем он нужен нам для серверного приложения - просто такого понятия как серверное приложение у VK теперь нет. Теоретически, туда можно вписать что угодно - для работы с библиотекой в получении обратных данных нет необходимости. Однако, с течением времени, это может измениться.
![BF](../../static/img/Docs/VK/4.png)
* Ввести паспортные данные или данные об организации, включить доступ к сообществам (короче, если у вас уже было приложение до этого, то вам крупно повезло, а если нет российского паспорта - придется писать в поддержку)
![BF](../../static/img/Docs/VK/8.png)
* Получить app_id на странице приложения
![BF](../../static/img/Docs/VK/5.png)
**5. access_token**
Ссылку на получение acess_token можно получить при помощи функции *СоздатьСсылкуПолученияТокена* или склеить вручную:
https://oauth.vk.com/authorize?client_id= + *app_id* + &scope=offline,wall,groups,photos,stats,stories,ads&v=5.131&response_type=token&redirect_uri=https://api.vk.com/blank.html
* По этой ссылке необходимо перейти в браузере
* Авторизоваться через ВК и подтвердить доступ
* Забрать токен из параметра URL в адресной строке
![BF](../../static/img/Docs/VK/6.png)
**(Дополнительно) communitytoken**
Некоторые методы, например для работы с чат-ботом сообщества, принимают в качестве параметра communitytoken - в этих методах он заменяет access_token. Для его получения необходимо:
* Зайти в раздел "Управление" в группе ВК
* Найти вкладку "Работа с API"
* Нажать "Создать ключ" и забрать его
![BF](../../static/img/Docs/VK/7.png)
Пока вам не нужно использовать такие методы, получать communitytoken не обязательно

View File

@ -0,0 +1,8 @@
{
"label": "VK",
"position": 3,
"link": {
"type": "doc",
"id": "VK"
}
}

View File

@ -0,0 +1,8 @@
{
"label": "Интерактивные действия",
"position": 4,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют осуществлять интерактивное взаимодейтсвие с объектами VK"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -0,0 +1,36 @@
---
sidebar_position: 3
---
# Написать комментарий
Создает комментарий под выбранной записью
*Функция НаписатьКомментарий(Знач IDПоста, Знач IDСтены, Знач Текст, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDПоста | Строка/Число | ID целеовго поста |
| IDСтены | Строка/Число (необяз.) | ID стены, на которой расположен пост. По умолчанию - стена текущей группы |
| Текст | Строка | Текст комментария |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.НаписатьКомментарий(221, -218861756, "Привет", Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/2.png)
```json title="Результат"
{
"response": {
"parents_stack": [],
"comment_id": 229
}
}
```

View File

@ -0,0 +1,37 @@
---
sidebar_position: 5
---
# Написать сообщение
Написать сообщение пользователю в диалоге сообщества
*Функция НаписатьСообщение(Знач Текст, Знач IDПользователя, Знач Communitytoken, Знач Клавиатура = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Текст сообщения |
| IDПользователя | Строка/Число | ID целеовго пользователя |
| Communitytoken | Строка | Токен из настроек сообщества с доступом к сообщениям сообщества |
| Клавиатура | Строка (необяз.)| Клавиатура к сообщению. (См. [СформироватьКлавиатуру](../%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%B4%D0%B5%D0%B9%D1%82%D1%81%D0%B2%D0%B8%D1%8F/%D0%A1%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%83)) |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
КТ = "vk1.a.IzbBGUkYUvrNfMt_sknCcC66hyYifL0U1Bb...";
Ответ = OPI_VK.НаписатьСообщение("Я бот, а ты нет >:)", 657811122, КТ, , Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/3.png)
```json title="Результат"
{
"response": 7
}
```

View File

@ -0,0 +1,33 @@
---
sidebar_position: 1
---
# Поставить лайк
Ставит лайк на пост
*Функция ПоставитьЛайк(Знач IDПоста, Знач IDСтены = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDПоста | Строка/Число | ID целеовго поста |
| IDСтены | Строка/Число (необяз.) | ID стены, на которой расположен пост. По умолчанию - стена текущей группы |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.ПоставитьЛайк(221, ,Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"response": {
"likes": 1
}
}
```

View File

@ -0,0 +1,46 @@
---
sidebar_position: 2
---
# Сделать репост
Делает репост записи
*Функция СделатьРепост(Знач IDПоста, Знач IDСтены = "", Знач ЦелеваяСтена = "", Знач Рекламный = Ложь, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDПоста | Строка/Число | ID целеовго поста |
| IDСтены | Строка/Число (необяз.) | ID стены, на которой расположен пост. По умолчанию - стена текущей группы |
| ЦелеваяСтена | Строка/Число (необяз.) | ID стены, на которую нужно репостнуть запись. По умолчанию - стена текущей группы |
| Рекламный | Булево (необяз.) | Пометить пост как рекламный. По умолчанию - Ложь |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.СделатьРепост(2571, -218704372, , , Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/1.png)
```json title="Результат"
{
"response": {
"mail_repost_count": 2,
"likes_count": 7,
"reposts_count": 3,
"post_id": 228,
"badges": {
"owner_id": -218704372,
"id": 2571,
"type": 11
},
"wall_repost_count": 1,
"success": 1
}
}
```

View File

@ -0,0 +1,27 @@
---
sidebar_position: 4
---
# Сократить ссылку
Создает сокращенный URL из обычного
*Функция СократитьСсылку(Знач URL, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| URL | Строка | URL для сокращения |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Строка - сокращенный URL
```bsl title="Пример кода"
Ответ = OPI_VK.СократитьСсылку("https://github.com/Bayselonarrend/OpenIntegrations", Параметры);
```
```json title="Результат"
https://vk.cc/ctL1sM
```

View File

@ -0,0 +1,53 @@
---
sidebar_position: 6
---
# Сформировать клавиатуру
Сформировать клавиатуру из массива кнопок
*Функция СформироватьКлавиатуру(Знач МассивКнопок) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| МассивКнопок | Массив из Строка | Массив кнопок |
Вовзращаемое значение: Строка - сокращенный URL
```bsl title="Пример кода"
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Кнопка 1");
МассивКнопок.Добавить("Кнопка 2");
Клавиатура = OPI_VK.СформироватьКлавиатуру(МассивКнопок);
КТ = "vk1.a.IzbBGUkYUvrNfMt_sknCcC66hyYifL0U1Bb8CVYC...";
Ответ = OPI_VK.НаписатьСообщение("Я бот, а ты нет >:)", 657846756, КТ, Клавиатура, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/4.png)
```json title="Результат"
{
"buttons": [
[
{
"action": {
"type": "text",
"label": "Кнопка 1"
}
},
{
"action": {
"type": "text",
"label": "Кнопка 2"
}
}
]
],
"one_time": false
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Получение статистики",
"position": 3,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют получать статистические данные сообществ"
}
}

View File

@ -0,0 +1,77 @@
---
sidebar_position: 2
---
# Получить статистику по постам
Получает статистику в разрезе постов
*Функция ПолучитьСтатистикуПостов(Знач МассивIDПостов, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| МассивIDПостов | Массив из Строка,Число | Массив номеров постов |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
МассивПостов = Новый Массив;
МассивПостов.Добавить(214);
МассивПостов.Добавить(215);
Ответ = OPI_VK.ПолучитьСтатистикуПостов(МассивПостов, VK_Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
[
{
"ad_report": 0,
"ad_coverage": 0,
"ad_to_group": 0,
"ad_unsubscribe": 0,
"ad_hide": 0,
"ad_join_group": 0,
"ad_subscribers": 0,
"ad_links": 0,
"ad_views": 0,
"reach_viral": 0,
"reach_total": 1,
"reach_ads": 0,
"report": 0,
"join_group": 0,
"links": 0,
"unsubscribe": 0,
"hide": 0,
"reach_subscribers": 1,
"to_group": 1,
"post_id": 214
},
{
"ad_report": 0,
"ad_coverage": 0,
"ad_to_group": 0,
"ad_unsubscribe": 0,
"ad_hide": 0,
"ad_join_group": 0,
"ad_subscribers": 0,
"ad_links": 0,
"ad_views": 0,
"reach_viral": 0,
"reach_total": 1,
"reach_ads": 0,
"report": 0,
"join_group": 0,
"links": 0,
"unsubscribe": 0,
"hide": 0,
"reach_subscribers": 1,
"to_group": 0,
"post_id": 215
}
]
```

View File

@ -0,0 +1,535 @@
---
sidebar_position: 1
---
# Получить статистику
Получает общую статистику сообщества за период
*Функция ПолучитьСтатистику(Знач ДатаНачала, Знач ДатаОкончания, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| ДатаНачала | Дата | Начало периода получения статистики |
| ДатаОкончания | Дата | Окончание периода получения статистики |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.ПолучитьСтатистику(ТекущаяДатаСеанса() - 60 * 60 * 24, ТекущаяДатаСеанса(), Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"response": [
{
"visitors": {
"views": 8,
"sex_age": [
{
"count": 0,
"value": "f;12-18"
},
{
"count": 0,
"value": "f;18-21"
},
{
"count": 0,
"value": "f;21-24"
},
{
"count": 0,
"value": "f;24-27"
},
{
"count": 0,
"value": "f;27-30"
},
{
"count": 0,
"value": "f;30-35"
},
{
"count": 0,
"value": "f;35-45"
},
{
"count": 0,
"value": "f;45-100"
},
{
"count": 0,
"value": "m;12-18"
},
{
"count": 0,
"value": "m;18-21"
},
{
"count": 1,
"value": "m;21-24"
},
{
"count": 0,
"value": "m;24-27"
},
{
"count": 0,
"value": "m;27-30"
},
{
"count": 0,
"value": "m;30-35"
},
{
"count": 0,
"value": "m;35-45"
},
{
"count": 0,
"value": "m;45-100"
}
],
"sex": [
{
"count": 0,
"value": "f"
},
{
"count": 1,
"value": "m"
}
],
"mobile_views": 0,
"countries": [
{
"value": 3,
"name": "Беларусь",
"count": 1,
"code": "BY"
}
],
"visitors": 1,
"cities": [],
"age": [
{
"count": 0,
"value": "12-18"
},
{
"count": 0,
"value": "18-21"
},
{
"count": 1,
"value": "21-24"
},
{
"count": 0,
"value": "24-27"
},
{
"count": 0,
"value": "27-30"
},
{
"count": 0,
"value": "30-35"
},
{
"count": 0,
"value": "35-45"
},
{
"count": 0,
"value": "45-100"
}
]
},
"reach": {
"sex_age": [
{
"count": 0,
"value": "f;12-18"
},
{
"count": 0,
"value": "f;18-21"
},
{
"count": 0,
"value": "f;21-24"
},
{
"count": 0,
"value": "f;24-27"
},
{
"count": 0,
"value": "f;27-30"
},
{
"count": 0,
"value": "f;30-35"
},
{
"count": 0,
"value": "f;35-45"
},
{
"count": 0,
"value": "f;45-100"
},
{
"count": 0,
"value": "m;12-18"
},
{
"count": 0,
"value": "m;18-21"
},
{
"count": 1,
"value": "m;21-24"
},
{
"count": 0,
"value": "m;24-27"
},
{
"count": 0,
"value": "m;27-30"
},
{
"count": 0,
"value": "m;30-35"
},
{
"count": 0,
"value": "m;35-45"
},
{
"count": 0,
"value": "m;45-100"
}
],
"sex": [
{
"count": 0,
"value": "f"
},
{
"count": 1,
"value": "m"
}
],
"reach": 1,
"mobile_reach": 0,
"countries": [
{
"value": 3,
"name": "Беларусь",
"count": 1,
"code": "BY"
}
],
"reach_subscribers": 1,
"cities": [],
"age": [
{
"count": 0,
"value": "12-18"
},
{
"count": 0,
"value": "18-21"
},
{
"count": 1,
"value": "21-24"
},
{
"count": 0,
"value": "24-27"
},
{
"count": 0,
"value": "27-30"
},
{
"count": 0,
"value": "30-35"
},
{
"count": 0,
"value": "35-45"
},
{
"count": 0,
"value": "45-100"
}
]
},
"period_to": 1704671999,
"period_from": 1704585600
},
{
"visitors": {
"views": 3,
"sex_age": [
{
"count": 0,
"value": "f;12-18"
},
{
"count": 0,
"value": "f;18-21"
},
{
"count": 0,
"value": "f;21-24"
},
{
"count": 0,
"value": "f;24-27"
},
{
"count": 0,
"value": "f;27-30"
},
{
"count": 0,
"value": "f;30-35"
},
{
"count": 0,
"value": "f;35-45"
},
{
"count": 0,
"value": "f;45-100"
},
{
"count": 0,
"value": "m;12-18"
},
{
"count": 0,
"value": "m;18-21"
},
{
"count": 1,
"value": "m;21-24"
},
{
"count": 0,
"value": "m;24-27"
},
{
"count": 0,
"value": "m;27-30"
},
{
"count": 0,
"value": "m;30-35"
},
{
"count": 0,
"value": "m;35-45"
},
{
"count": 0,
"value": "m;45-100"
}
],
"sex": [
{
"count": 0,
"value": "f"
},
{
"count": 1,
"value": "m"
}
],
"mobile_views": 0,
"countries": [
{
"value": 3,
"name": "Беларусь",
"count": 1,
"code": "BY"
}
],
"visitors": 1,
"cities": [],
"age": [
{
"count": 0,
"value": "12-18"
},
{
"count": 0,
"value": "18-21"
},
{
"count": 1,
"value": "21-24"
},
{
"count": 0,
"value": "24-27"
},
{
"count": 0,
"value": "27-30"
},
{
"count": 0,
"value": "30-35"
},
{
"count": 0,
"value": "35-45"
},
{
"count": 0,
"value": "45-100"
}
]
},
"reach": {
"sex_age": [
{
"count": 0,
"value": "f;12-18"
},
{
"count": 0,
"value": "f;18-21"
},
{
"count": 0,
"value": "f;21-24"
},
{
"count": 0,
"value": "f;24-27"
},
{
"count": 0,
"value": "f;27-30"
},
{
"count": 0,
"value": "f;30-35"
},
{
"count": 0,
"value": "f;35-45"
},
{
"count": 0,
"value": "f;45-100"
},
{
"count": 0,
"value": "m;12-18"
},
{
"count": 0,
"value": "m;18-21"
},
{
"count": 1,
"value": "m;21-24"
},
{
"count": 0,
"value": "m;24-27"
},
{
"count": 0,
"value": "m;27-30"
},
{
"count": 0,
"value": "m;30-35"
},
{
"count": 0,
"value": "m;35-45"
},
{
"count": 0,
"value": "m;45-100"
}
],
"sex": [
{
"count": 0,
"value": "f"
},
{
"count": 1,
"value": "m"
}
],
"reach": 1,
"mobile_reach": 0,
"countries": [
{
"value": 3,
"name": "Беларусь",
"count": 1,
"code": "BY"
}
],
"reach_subscribers": 1,
"cities": [],
"age": [
{
"count": 0,
"value": "12-18"
},
{
"count": 0,
"value": "18-21"
},
{
"count": 1,
"value": "21-24"
},
{
"count": 0,
"value": "24-27"
},
{
"count": 0,
"value": "27-30"
},
{
"count": 0,
"value": "30-35"
},
{
"count": 0,
"value": "35-45"
},
{
"count": 0,
"value": "45-100"
}
]
},
"period_to": 1704585599,
"period_from": 1704499200
}
]
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Работа с контентом",
"position": 1,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют работать с контентом группы: постами, альбомами и историями"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,47 @@
---
sidebar_position: 4
---
# Создать альбом
Создает альбом для хранения картинок
*Функция СоздатьАльбом(Знач Наименование, Знач Описание = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Наименование | Строка | Наименование альбома |
| Описание | Строка (необяз.) | Описание альбома |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.СоздатьАльбом("Крутые картинки", "Альбом для крутых картинок", Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/3.png)
```json title="Результат"
{
"response": {
"upload_by_admins_only": 1,
"updated": 1704614517,
"thumb_id": 0,
"description": "Альбом для крутых картинок",
"can_upload": 1,
"feed_has_pinned": 0,
"feed_disabled": 0,
"title": "Крутые картинки",
"comments_disabled": 0,
"size": 0,
"created": 1704614517,
"owner_id": -218861756,
"id": 302428737
}
}
```

View File

@ -0,0 +1,117 @@
---
sidebar_position: 7
---
# Создать историю
Создает историю из картинки
*Функция СоздатьИсторию(Знач Картинка, Знач URL = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Картинка | Строка/ДвоичныеДанные | Двоичные данные или путь к картинке |
| URL | Строка (необяз.) | URL для кнопки перехода под историей |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.СоздатьИсторию("C:\logo.png", "https://github.com/Bayselonarrend/OpenIntegrations", Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/5.png)
```json title="Результат"
{
"response": {
"items": [
{
"can_use_in_narrative": true,
"can_ask_anonymous": 0,
"can_ask": 0,
"views": 0,
"type": "photo",
"reaction_set_id": "reactions",
"replies": {
"new": 0,
"count": 0
},
"no_sound": false,
"photo": {
"has_tags": false,
"web_view_token": "9d566b4a60d8100666",
"text": "",
"sizes": [
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/7PcNRex2pYue-SdgWSHnESz585ZQ_6r9stO9oJ3M_DrKI4Y7x4QJstCjexA7qH_enjYaK_fsZfqAqY1zsq9gBkRc.jpg?size=75x75&quality=95&type=story",
"width": 75,
"type": "s",
"height": 75
},
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/sd2H9R-I3dlvzXoR8XLnyHnhemaAw9nvrcYVuvf3jhN_qBR7anO-_skKUvX50OrwQmfq3Kp73YejAt4IpgXHQ-BZ.jpg?size=130x130&quality=95&type=story",
"width": 130,
"type": "m",
"height": 130
},
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/VKoQkcqGfGYqrSa-Q72CJvRvdP341pRAFaK4EVNjUX8BvoEO8bOOSrlbbSCPeBqMsY7NdaWnUNnG5F6-TOuYmih1.jpg?size=256x256&quality=95&type=story",
"width": 256,
"type": "j",
"height": 256
},
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/O9JR0F_JQnIuNNURRqXmERhVbgg2A5KPV9Zgm8z2Jh0nPzCijHq-KqpA143HaMd1bBspqWR2Nz9m5vkEdKnvKxYw.jpg?size=604x604&quality=95&type=story",
"width": 604,
"type": "x",
"height": 604
},
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/4NJSOtqS1-DUPrmCtrRNbY0NjGusmv6qeM945YnmnIPhFgbhxEojbKhN5BPN2Lrl5uJ0lgfSMolvdb9ifuyoNELu.jpg?size=807x807&quality=95&type=story",
"width": 807,
"type": "y",
"height": 807
},
{
"url": "https://sun56-1.userapi.com/s/v1/ig2/iGjh0lji0Vpji8BD3ikaquUg8L1SO2PYdjV9mk0STQW7Ce8hSp1aNlM09HwAlqXIWkCipWAHvuk8OBd9GjXX37gu.jpg?size=1024x1024&quality=95&type=story",
"width": 1024,
"type": "z",
"height": 1024
}
],
"user_id": 100,
"owner_id": -218861756,
"id": 457239428,
"date": 1704616101,
"album_id": -81
},
"link": {
"url": "https://github.com/Bayselonarrend",
"text": "Ещё"
},
"track_code": "story/3AAQAdLy9G9EAs4bMafEA84nNfHkBAAFoAagB6AIAA==",
"expires_at": 1704702501,
"narratives_count": 0,
"date": 1704616101,
"likes_count": 0,
"is_one_time": false,
"can_share": 1,
"can_like": true,
"can_see": 1,
"can_hide": 1,
"can_reply": 1,
"access_key": "story",
"owner_id": -218861756,
"can_comment": 1,
"id": 456239044
}
],
"count": 1
}
}
```

View File

@ -0,0 +1,47 @@
---
sidebar_position: 3
---
# Создать опрос
Создает опрос с вариантами ответа
*Функция СоздатьОпрос(Знач Вопрос, Знач МассивОтветов, Знач Картинка = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Вопрос | Строка | Вопрос в опросе |
| МассивОтветов | Массив строк | Набор ответов на вопрос опроса |
| Картинка | Строка/ДвоичныеДанные (необяз.) | Картинка фона опроса* |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
*Картинка на данный момент не подставляется. Мы смотрели запрос со службой поддержки, но найти причину не смогли
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
МассивОтветов = Новый Массив;
МассивОтветов.Добавить("Красный");
МассивОтветов.Добавить("Желтый");
МассивОтветов.Добавить("Синий");
Ответ_ = OPI_VK.СоздатьОпрос("Какой ваш любимый цвет?"
, МассивОтветов
, "C:\logo.png"
, VK_Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/2.png)
```json title="Результат"
{
"response": {
"post_id": 225
}
}
```

View File

@ -0,0 +1,46 @@
---
sidebar_position: 1
---
# Создать пост
Создает пост с картинками
*Функция СоздатьПост(Знач Текст, Знач МассивКартинок, Знач Рекламный = Ложь, Знач СсылкаПодЗаписью = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Текст | Строка | Непосредственно текст поста |
| МассивКартинок | Массив строк, Массив Двоичных данных | Массив двоичных данны или путей к картинкам поста|
| Рекламный | Булево (необяз.) | Пометить пост как рекламу. По умолчанию - Ложь |
| СсылкаПодЗаписью | Строка (необяз.) | URL, отображаемый под постом, ели необходим |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
МассивКартинок = Новый Массив;
МассивКартинок.Добавить("C:\logo.png");
МассивКартинок.Добавить("C:\logo_long.png");
Ответ = OPI_VK.СоздатьПост("Следите за проектом ОПИ на Github!"
, МассивКартинок
, Ложь
, "https://github.com/Bayselonarrend/OpenIntegrations"
, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/1.png)
```json title="Результат"
{
"response": {
"post_id": 221
}
}
```

View File

@ -0,0 +1,105 @@
---
sidebar_position: 5
---
# Сохранить картинку в альбом
Сохраняет картинку в альбом сообщества
*Функция СохранитьКартинкуВАльбом(Знач IDАльбома, Знач Картинка, Знач Описание = "", Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDАльбома | Строка/Число | ID альбома для сохранения |
| Картинка | Строка/ДвоичныеДанные | Двоичные данные или путь к картинке |
| Описание | Строка | Аннотация к картинке |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.СохранитьКартинкуВАльбом(302277649
, "C:\logo.png"
, "Альпака"
, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
![Результат](img/4.png)
```json title="Результат"
{
"response": [
{
"has_tags": false,
"web_view_token": "12796bb38e311b43bd",
"text": "Альпака",
"sizes": [
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=75x75&quality=96&sign=ceec370f4b791ccdf911277c89df5ba6&c_uniq_tag=N1fdAY5-MDCyCyrI3LFFHbOs3_eFK1Na_4vZGTLduhs&type=album",
"width": 75,
"type": "s",
"height": 75
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=130x130&quality=96&sign=6310c8f17ea4d623297d99de7bcb0a02&c_uniq_tag=TYbUzidaEDaxszfawnM0qs0_mgP1y0VrV_oE4O0MDds&type=album",
"width": 130,
"type": "m",
"height": 130
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=604x604&quality=96&sign=7bb5422f0ee3090f1d35efec9f32408e&c_uniq_tag=xtj_A-t5ZN2UuO7A-Ddnb7kfjXVxndHCFp9U4me4vus&type=album",
"width": 604,
"type": "x",
"height": 604
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=807x807&quality=96&sign=bceed124270756e94f767c95b73dd402&c_uniq_tag=kNqj8dwDVw2ZsGXGf2JTvd0ReWo5ymUIKosHUKSmlYo&type=album",
"width": 807,
"type": "y",
"height": 807
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=1024x1024&quality=96&sign=525faab7ad4fe08c04b0dd3afef321c0&c_uniq_tag=eD0hnb1U0OMRPlSVjJtwYJO4sfqYXZYvAG1D7BzKbdo&type=album",
"width": 1024,
"type": "z",
"height": 1024
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=130x130&quality=96&sign=6310c8f17ea4d623297d99de7bcb0a02&c_uniq_tag=TYbUzidaEDaxszfawnM0qs0_mgP1y0VrV_oE4O0MDds&type=album",
"width": 130,
"type": "o",
"height": 130
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=200x200&quality=96&sign=b60c435efe1cafe2accde861f94291b0&c_uniq_tag=g2CyI4cOdrV6iB7bGfYWSlb_1zY1rvFrfuotsSBzV6Q&type=album",
"width": 200,
"type": "p",
"height": 200
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=320x320&quality=96&sign=7903b25c650df6e3349aa792156772f2&c_uniq_tag=fAe4uRSjDtPBF02FoLe7NXMGL6gHWJKHk5NWNEspVOI&type=album",
"width": 320,
"type": "q",
"height": 320
},
{
"url": "https://sun9-58.userapi.com/impg/hAVBXBVJJm-Yek5fk9c2Quby4Cecd1nwRu9BvQ/708zjL4tJEc.jpg?size=510x510&quality=96&sign=15860c63877741a2ea9125ede1b7262d&c_uniq_tag=CA3fCeEJvaW8L43J8-PYDtu7LC-tdEgvLpWCal-4Is0&type=album",
"width": 510,
"type": "r",
"height": 510
}
],
"user_id": 100,
"owner_id": -218861756,
"id": 457239427,
"date": 1704614930,
"album_id": 302428737
}
]
}
```

View File

@ -0,0 +1,30 @@
---
sidebar_position: 6
---
# Удалить картинку
Удалить картинку из альбома
*Функция УдалитьКартинку(Знач IDКартинки, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDКартинки | Строка/Число | ID картинки для удаления |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.УдалитьКартинку(457239410, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"response": 1
}
```

View File

@ -0,0 +1,30 @@
---
sidebar_position: 2
---
# Удалить пост
Удалить пост по id
*Функция УдалитьПост(Знач IDПоста, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDПоста | Строка/Число | ID целевого поста |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.УдалитьПост(212, Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"response": 1
}
```

View File

@ -0,0 +1,8 @@
{
"label": "Работа с обсуждениями",
"position": 2,
"link": {
"type": "generated-index",
"description": "Эти методы позволяют работать с обсуждениями группы"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,31 @@
---
sidebar_position: 2
---
# Закрыть обсуждение
Закрывает или удаляет обсуждение
*Функция ЗакрытьОбсуждение(Знач IDОбсуждения, Знач УдалитьПолностью = Ложь, Знач Параметры = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| IDОбсуждения | Строка/Число | ID целевого обсуждения |
| УдалитьПолностью | Булево (необяз.) | Истина - удалить обусждение полностью, Ложь - закрыть обсуждение для новых сообщений (по умолчанию) |
| Параметры | Структура (необяз.) | Параметры / перезапись стандартных параметров (см. [Получение необходимых данных](../)) |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от VK
```bsl title="Пример кода"
Ответ = OPI_VK.ЗакрытьОбсуждение(49494836, , Параметры);
Ответ = OPI_Инструменты.JSONСтрокой(Ответ);
```
```json title="Результат"
{
"response": 1
}
```

Some files were not shown because too many files have changed in this diff Show More