Установка и первичная настройка бота - KriseevM/vkschoolbot GitHub Wiki

Чтобы установить бота на данный момент необходимо просто скопировать его исходный код на ваш веб-сервер, чтобы файл index.php был доступен из сети, установить зависимости composer и подключить бота к вашему сообществу ВКонтакте. У вас должен быть настроен собственный веб-сервер (весь код тестировался на базе apache2. Работоспособность на nginx гарантировать не могу. Если кто-то сможет запустить и нормально настроить данный проект на nginx, обязательно напишите issue с этой информацией и подробностями - что и как было настроено. Можно также объяснить, почему именно такие параметры выбраны. Эту информацию я в дальнейшем внесу в wiki) или подключен хостинг. На сервере должен быть TLS-сертификат. Для работы необходим PHP версии 7.4, модуль sqlite, а также настроен composer. Бот может быть подключен только к сообществу ВКонтакте, поэтому желательно уже иметь такое сообщество или быть администратором такого сообщества.

Если после установки у Вас не записываются изменения в базу данных, вам нужно предоставить пользователю, от имени которого работает сервер (например, www-data или http), read-write доступ к файлу bot.db.


Установка зависимостей

Для установки зависимостей необходимо перейти в консольный интерфейс вашего сервера, перейти в папку клонированного репозитория или распакованных исходных кодов и выполнить команду

composer install --no-dev

Внимание! После установки зависимостей рекомендую ограничить доступ из интернета к папке vendor и файлу bot.db. Для этого, скорее всего придётся редактировать конфигурационные файлы вашего веб-сервера. Эти изменения могут сильно варьироваться, поэтому никаких инструкций я дать не могу, но в целях безопасности, всё же, рекомендую это сделать.

Если при этом не возникло никаких ошибок, то можно переходить к следующему шагу.

Подключение к сообществу ВКонтакте

Для того, чтобы подключить бота к Вашему сообществу, необходимо перейти в управление группы. Для начала нужно включить сообщения сообщества и функции ботов в соответствующем разделе, если это ещё не сделано.

Раздел "Управление" Вкладка "Сообщения"

Включение сообщений сообщества Включение возможностей ботов

После этого надо перейти во вкладку Настройки -> Работа с API

Вкладка "Работа с API"

Здесь нам необходимо создать ключ доступа, нажав на кнопку "Создать ключ". Выберете те же пункты, что на скриншоте ниже, и нажмите "создать".

Создание ключа доступа

Полученный ключ надо скопировать и вставить в переменную $token в файле APIInfo.php. Далее необходимо перейти во вкладку "Callback API"

Вкладка "Callback API"

Вы видите настройки первого сервера бота для группы (если настройки уже заполнены, нажмите кнопку "Добавить сервер", она расположена немного правее горизонтальных вкладок, и может быть скрыта в списке серверов, на который надо нажать, и там будет эта кнопка). В поле Адрес введите полный адрес до файла index.php, включая протокол. Например, https://kriseev.ru/files/bot/index.php. Теперь выберите верcию API в соответствующем списке: 5.102

Ниже на этой же странице вы видите примечание. В самом его конце написано: Строка, которую должен вернуть сервер: и после этого набор символов жирным шрифтом. Скопируйте эти символы без пробелов и кавычек и вставьте в переменную $confirmation в файле APIInfo.php. Теперь нажмите кнопку "Подтвердить" ВКонтакте. Если вы всё сделали правильно, то вы должны увидеть соответствующее сообщение.

Готово! Теперь вы можете пользоваться данным ботом. Но необходимо заполнить информацию о расписании, и регулярно заполнять информацию о заданиях и изменениях в расписании. Это можно будет сделать при помощи программы-клиента.

После свежей установки бота вы можете воспользоваться клиентом, используя данные стандартного пользователя, имеющего повышенные привилегии (имя - DEFAULT, пароль - 1234). Рекомендую после первого входа с данными этого пользователя создать другого пользователя с повышенными привилегиями, перезайти с данными нового пользователя и удалить пользователя DEFAULT.