Criação de chatbot VK baseado em VkBotCore C #

Este artigo foi criado para pessoas preguiçosas que não querem muito codificar e lidar com todo o "recheio".

Treinamento em grupo


Primeiro, precisamos criar uma comunidade que esteja vinculada ao nosso bot.

Para fazer isso, vá para a seção "Comunidades" e clique em "Criar comunidade".

imagem

Agora vamos configurá-lo para funcionar com a API de retorno de chamada // Mais sobre API de retorno de chamada

Vá para "Gerenciamento" >>

imagem

>> "Configurações" >> "Trabalhando com a API"

imagem

Criamos uma chave de acesso com todas as permissões e a escrevemos, será útil para nós.

imagem

Em seguida, vá para a guia API de retorno de chamada, selecione a versão mais recente da API e escreva o código de confirmação especificado.

imagem

Resta ativar as mensagens. Vá para a seção "Mensagens" >> "Configurações do bot" ligue e salve a configuração

imagem


Preparação do servidor



Para funcionar, o bot precisa de um local onde será lançado. Qualquer hospedagem é adequada para isso, porque o .NET Core pode ser iniciado a partir de qualquer plataforma.

Eu considerei um exemplo com um servidor VPS no Ubuntu 18. 04.

Em um servidor limpo para o bot funcionar, você precisa instalar o .NET Core pelo menos na versão 2.2.

Nós inserimos os seguintes comandos:
O comando para registrar a chave da Microsoft e o feed da 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

Atualizando os produtos disponíveis para instalação:

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

Agora instale o próprio .NET Core.
Para a versão Runtime , digite o comando:

> sudo apt-get install aspnetcore-runtime-3.1

Para a versão do Kit de Desenvolvimento de Software :

> sudo apt-get install dotnet-sdk-3.1

Após instalar o ambiente, verifique sua prontidão com o comando:

> dotnet --info

Instalação e configuração


Passamos diretamente para o bot.

Faça o download e descarregue o arquivo morto com a montagem.

Abra o arquivo appsettings.json.Insira

imagem

a chave de acesso e a chave de confirmação salvas anteriormente no valor do AccessToken e no valor de confirmação .

imagem

Salve e volte ao console.

Com o comando, cd " ", vá para a pasta assembly e digite o comando para iniciar:

> dotnet vkBotCore.dll

Resta vincular o bot ao grupo. Para fazer isso, na seção API de retorno de chamada, no campo de endereço, insira o domínio ao qual o servidor está conectado com o caminho / api / retorno de chamada.Se

imagem

tudo for feito corretamente, uma marca de seleção verde aparecerá após a confirmação.

Criação de plugins


As funções básicas do VkBotCore como um chatbot incluem apenas 2 comandos: / help e / everyone.Para
aumentar a funcionalidade, você precisa escrever um plugin.

Plugins são uma biblioteca de classes com a funcionalidade básica necessária para conectar-se como um plugin.

Vamos criar um novo projeto:

imagem

conecte a biblioteca vkBotCore.dll do assembly ao projeto,

imagem

imagem

adicione usando ao vkBotCore.Plugins e herde a classe principal do Plugin

using vkBotCore.Plugins;

namespace myPlugin
{
    public class MyFirstPlugin : Plugin
    {
    }
}

Adicione o comando hello para que ele responda Olá {name}

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

Agora crie uma nova pasta na pasta de montagem chamada plugins.Salve o
plug-in montado

imagem

p.s. nele . Para que os comandos funcionem, nas configurações de Calback-API >> Tipos de Eventos, é necessário ativar a notificação de mensagens recebidas.

imagem

Execute e verifique:

imagem

Materiais relacionados


Arquivos do
código-fonte VkBotCore do plug-in de montagem e teste
Artigo com um bot de bate-papo baseado no ASP.NET Core, VkNet C #

All Articles