Подготовка группы
Для начала нам необходимо создать сообщество, которое будет привязано к нашему боту.
Для этого заходим в раздел «Сообщества» и нажимаем «Создать сообщество»

Теперь настроим его для работы с Callback-API //Подробнее про Callback-API
>>«Настройки»>>«Работа с API»

Создаём ключ доступа со всеми разрешениями и выписываем его, он нам ещё пригодится

Далее переходим на вкладку Callback-API, Выбираем последнюю версию API и выписываем указанный код конфирмации

Осталось включить сообщения. Переходим в раздел «Сообщения»>>«Настройки для бота» включаем и сохраняем настройку

Подготовка сервера
Для работы боту необходимо место, где он будет запущен. Для этого подойдёт любой хостинг, ведь .NET Core можно запустить с любой платформы. Также потребуется домен, так как VK принимает только домены в качестве адреса сервера.
Мною рассмотрен пример с VPS сервером на Ubuntu 18.04
На чистый сервер для работы бота необходимо поставить .NET Core не ниже 2.2 версии.
Вводим следующие команды:
Команда для регистрации ключа Microsoft и веб-канала:
> wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb
Обновляем продукты, доступные для установки:
> sudo apt-get update > sudo apt-get install apt-transport-https > sudo apt-get update
Теперь устанавливаем сам .NET Core
Для Runtime версии вводим команду:
> sudo apt-get install aspnetcore-runtime-3.1
Для Software Development Kit версии:
> sudo apt-get install dotnet-sdk-3.1
После установки среды проверим её готовность командой:
> dotnet --info
Установка и настройка
Переходим непосредственно к боту.
Скачиваем и выгружаем архив со сборкой.
Открываем файл appsettings.json

Вставляем в значения AccessToken ключ доступа и в значение Confirmation ключ конфирмации, сохранённые ранее.

Сохраняем и возвращаемся в консоль.
Командой 《cd "путь к папке"》 переходим к папке со сборкой и вводим команду для запуска:
> dotnet vkBotCore.dll
Остаётся привязать бота к группе. Для этого в разделе Callback-API в поле адреса вписываем домен, к которому привязан сервер с путём /api/callback

Если всё сделано правильно, то после подтверждения появится зелёная галочка.
Создание плагина
Базовые функции VkBotCore как чат-бота включают в себя только 2 команды: /help и /everyone
Для увеличения функционала необходимо написать плагин.
Плагины представляют из себя библиотеку классов с базовым функционалом, необходимым для подключения, как плагина.
Создадим новый проект

Подключим к проекту библиотеку vkBotCore.dll из сборки


Добавляем using на vkBotCore.Plugins и наследуем основной класс от Plugin
using vkBotCore.Plugins; namespace myPlugin { public class MyFirstPlugin : Plugin { } }
Добавим команду hello, чтобы она отвечала Привет {имя}
using vkBotCore.Plugins; using vkBotCore.Plugins.Attributes; namespace myPlugin { public class MyFirstPlugin : Plugin { [Command] public void Hello(CommandContext context) { context.Chat.SendMessage($"Привет {context.Sender.GetMentionLine()}"); } } }
Теперь создадим в папке сборки новую папку с названием plugins
Сохраним в ней собранный плагин

Запускаем и проверяем:

Материалы по теме
Архив сборки: vkBotCore.zip
Исходный код VkBotCore: github.com/DarkLexFirst/vkBotCore
Тестовый плагин с примерами testplugin.zip
Статья с чат-ботом на базе ASP.NET Core, VkNet C#
ссылка на оригинал статьи https://habr.com/ru/post/492102/

Добавить комментарий