Creación de chatbot VK basado en VkBotCore C #

Este artículo fue creado para personas perezosas que no quieren codificar mucho y lidiar con todo el "relleno".

Entrenamiento grupal


Primero, necesitamos crear una comunidad que esté vinculada a nuestro bot.

Para hacer esto, vaya a la sección "Comunidades" y haga clic en "Crear comunidad".

imagen

Ahora lo configuraremos para que funcione con Callback-API // Más sobre Callback-API

Vaya a "Administración" >>

imagen

>> "Configuración" >> "Trabajando con la API"

imagen

Creamos una clave de acceso con todos los permisos y la escribimos, será útil para nosotros.

imagen

A continuación, vaya a la pestaña Callback-API, seleccione la última versión de la API y escriba el código de confirmación especificado.

imagen

Queda por activar los mensajes. Vaya a la sección "Mensajes" >> "Configuración del bot", encienda y guarde la configuración

imagen


Preparación del servidor



Para funcionar, el bot necesita un lugar donde se lanzará. Cualquier alojamiento es adecuado para esto, porque .NET Core se puede iniciar desde cualquier plataforma.

Considere un ejemplo con un servidor VPS en Ubuntu 18.04.

En un servidor limpio para que funcione el bot, necesita instalar .NET Core al menos la versión 2.2.

Ingresamos los siguientes comandos:
El comando para registrar la clave de Microsoft y el feed web:

> 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

Actualización de los productos disponibles para la instalación:

> sudo apt-get update
> sudo apt-get install apt-transport-https
> sudo apt-get update

Ahora instale el .NET Core.
Para la versión Runtime , ingrese el comando:

> sudo apt-get install aspnetcore-runtime-3.1

Para la versión del kit de desarrollo de software :

> sudo apt-get install dotnet-sdk-3.1

Después de instalar el entorno, verifique su disponibilidad con el comando:

> dotnet --info

Instalación y configuración


Pasamos directamente al bot.

Descargue y descargue el archivo con el ensamblado.

Abra el archivo appsettings.json.

imagen

Inserte la clave de acceso y la clave de confirmación guardadas anteriormente en el valor AccessToken y el valor Confirmación .

imagen

Guarda y vuelve a la consola.

Con el comando 《cd " ", vaya a la carpeta de ensamblaje e ingrese el comando para comenzar:

> dotnet vkBotCore.dll

Queda por vincular el bot al grupo. Para hacer esto, en la sección Callback-API, en el campo de dirección, ingrese el dominio al que está conectado el servidor con la ruta / api / callback.

imagen

Si todo se hace correctamente, aparecerá una marca de verificación verde después de la confirmación.

Creación de complementos


Las funciones básicas de VkBotCore como chatbot incluyen solo 2 comandos: / help y / everyone.
Para aumentar la funcionalidad, debe escribir un complemento.

Los complementos son una biblioteca de clases con la funcionalidad básica necesaria para conectarse como un complemento. Creemos

un nuevo proyecto.

imagen

Conecte la biblioteca vkBotCore.dll del ensamblado al proyecto.

imagen

imagen

Agregue usando a vkBotCore.Plugins y herede la clase principal de Plugin

using vkBotCore.Plugins;

namespace myPlugin
{
    public class MyFirstPlugin : Plugin
    {
    }
}

Agregue el comando hola para que responda Hola {nombre}

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()}");
        }
    }
}

Ahora cree una nueva carpeta en la carpeta de ensamblaje llamada plugins.
Guarde el plugin ensamblado

imagen

p.s. en él . Para que los comandos funcionen, en la configuración de Calback-API >> Tipos de eventos, es necesario habilitar la notificación de los mensajes entrantes.

imagen

Corre y comprueba:

imagen

Materiales relacionados


Archivos del artículo de
código fuente de VkBotCore del complemento de ensamblaje y prueba
con un bot de chat basado en ASP.NET Core, VkNet C #

All Articles