Дайте вашему стаффу серверную консоль без необходимости давать доступ к хосту.
Откройте страницу релизов, скачайте бинарник для вашей ОС,
закиньте куда-угодно на ту же машину, где держите tshock сервер. Запустите. Будет создан стандартный config.yaml
,
а потом программа выйдет.
Заходим в группу, жмём Управление, затем Настройки > Работа с API.
Во вкладке Ключи доступа жмём Создать ключ, отмечаем галочку Разрешить приложению доступ к сообщениям сообщества,
жмём Создать. Копируем созданный ключ и записываем его в config.yaml
значением для поля Token
Во кладке Callback API жмём Добавить сервер.
- Ставим Версию API на 5.131.
- Ставим Адрес на адрес вашего сервера.
- Ставим в Секретный ключ любое сложноугадываемое значение.
Записываем Секретный ключ в config.yaml
значением поля Secret
. Делаем то же самое для значения
Строки, которую должен вернуть сервер значением для ConfirmationToken
.
Полем для TShockConfigPath
в config.yaml
ставим абсолютный путь до config.json
tshock-а. Примеры парой
заголовков ниже. В config.json
tshock-а настраиваем "ApplicationRestTokens"
в соответствии
с официальном гайдом tshock.
После того, как сделали это, нужно добавить "VKId": {АЙДИ_АККАУНТА}
к каждому токену, который нужно будет
использовать через сообщения группы в ВК.
Если всё сделано правильно, любой пользователь, чей 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!