Skip to content

Latest commit

 

History

History
87 lines (74 loc) · 5.88 KB

README.md

File metadata and controls

87 lines (74 loc) · 5.88 KB

VK Rest Console

Дайте вашему стаффу серверную консоль без необходимости давать доступ к хосту.

Гайд по настройке.

0. Скачиваем

Откройте страницу релизов, скачайте бинарник для вашей ОС, закиньте куда-угодно на ту же машину, где держите tshock сервер. Запустите. Будет создан стандартный config.yaml, а потом программа выйдет.

1. Получаем токен группы ВК и подключаем Callback API

Заходим в группу, жмём Управление, затем Настройки > Работа с API.

Во вкладке Ключи доступа жмём Создать ключ, отмечаем галочку Разрешить приложению доступ к сообщениям сообщества, жмём Создать. Копируем созданный ключ и записываем его в config.yaml значением для поля Token

Во кладке Callback API жмём Добавить сервер.

  • Ставим Версию API на 5.131.
  • Ставим Адрес на адрес вашего сервера.
  • Ставим в Секретный ключ любое сложноугадываемое значение.

Записываем Секретный ключ в config.yaml значением поля Secret. Делаем то же самое для значения Строки, которую должен вернуть сервер значением для ConfirmationToken.

2. Настраиваем конфиг TShock

Полем для TShockConfigPath в config.yaml ставим абсолютный путь до config.json tshock-а. Примеры парой заголовков ниже. В config.json tshock-а настраиваем "ApplicationRestTokens" в соответствии с официальном гайдом tshock.

После того, как сделали это, нужно добавить "VKId": {АЙДИ_АККАУНТА} к каждому токену, который нужно будет использовать через сообщения группы в ВК.

3. Используем

Если всё сделано правильно, любой пользователь, чей id был приставлен к токену tshock, теперь может просто писать команды в личные сообщения группы, и они будут выполнены.

Учитывайте, что команды, которые нельзя выполнить из обычной консоли TShock, так же нельзя выполнить через ВК.

Примеры

config.yaml

  Port: 80
  TShockConfigPath: "C:/Users/Admin/server/tshock/config.json"
  CommandPrefix: "/" # Если оставить пустым, его возьмёт из конфига тишока
  RestAddr: "http://127.0.0.1:7878" # Если оставить пустым, возьмёт как "http://127.0.0.1:{port}", где {port} взят из конфига TShock
  VK:
    Token: "a9eabd3ef76be720606e010107a339e203fe2cid81b67715ebaf823e8e52380f634516850cf0ab8344bb1"
    ConfirmationToken: "ba7bf260"
    Secret: "3vUA8FBVJLpjjQd37ZxqZVFLRi93rRuC"
  Messages:
    NoCommandOutput: "Команда ничего не вернула"
    RestRequestFailed: "Не удалось выполнить команду, гляньте логи"

config.json tshock-а

"ApplicationRestTokens": {
  "my_very_own_and_very_secret_rest_token": {
    "Username": "btvoidx",
    "UserGroupName": "superadmin",
    "VKId": 187569882
  },
  "not_my_own_and_not_so_secret_rest_token": {
    "Username": "Nikita Matrosoff",
    "UserGroupName": "supersuperadmin",
    "VKId": 206352149
  }
}

Настройка

Перезапустите программку после редактирования настроек для их применения.

Все поля и их значения:

  • Port - число - порт, на котором запускать Callback API сервер. Для запуска за прокси, например Nginx.
  • TShockConfigPath - строка - путь до config.json tshock-сервера.
  • CommandPrefix - строка - префикс команд. Если оставить пустым, возьмёт из конфига tshock.
  • RestAddr - строка - адрес REST Api tshock-сервера. Если оставить пустым, возьмёт порт из конфига tshock.
  • RemoveChatTags - булевое - пытаться ли вырезать теги цвета и предметов из ответов на команды.
  • VK
    • ConfirmationToken - строка - код, который требует ВК для подтверждения Callback API сервера.
    • Secret - строка - секретный код, который посылается ВК для подверждения достоверности запросов.
    • Token - строка - токен группы с доступом к сообщениям.
  • Messages
    • NoCommandOutput - строка - текст сообщения, которое оправляется, если команда не вернула ответа.
    • RestRequestFailed - строка - текст сообщения, которое отправляется, если не удалось связаться с REST Api tshock.

Нашли баг?

Откройте новый issue!