Création d'un chatbot VK basé sur VkBotCore C #

Cet article a été créé pour les paresseux qui ne veulent pas beaucoup coder et s'occuper de tout le "farce".

Formation de groupe


Tout d'abord, nous devons créer une communauté qui sera liée à notre bot.

Pour ce faire, allez dans la section "Communautés" et cliquez sur "Créer une communauté".

image

Maintenant, nous allons le configurer pour qu'il fonctionne avec Callback-API // En savoir plus sur Callback-API

Allez dans "Gestion" >>

image

>> "Paramètres" >> "Travailler avec l'API"

image

Nous créons une clé d'accès avec toutes les autorisations et l'écrivons, cela nous sera utile.

image

Ensuite, allez dans l'onglet Callback-API, sélectionnez la dernière version de l'API et écrivez le code de confirmation spécifié. Il

image

reste à activer les messages. Allez dans la section "Messages" >> "Paramètres du bot" allumez et enregistrez le paramètre

image


Préparation du serveur



Pour fonctionner, le bot a besoin d'un endroit où il sera lancé. Tout hébergement convient à cela, car .NET Core peut être lancé à partir de n'importe quelle plate-forme.

J'ai considéré un exemple avec un serveur VPS sur Ubuntu 18.04.

Sur un serveur propre pour que le bot fonctionne, vous devez installer .NET Core au moins la version 2.2.

Nous entrons les commandes suivantes:
La commande pour enregistrer la clé Microsoft et le flux 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

Mise à jour des produits disponibles pour l'installation:

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

Maintenant, installez le .NET Core lui-même.
Pour la version Runtime , entrez la commande:

> sudo apt-get install aspnetcore-runtime-3.1

Pour la version du kit de développement logiciel :

> sudo apt-get install dotnet-sdk-3.1

Après avoir installé l'environnement, vérifiez son état de préparation avec la commande:

> dotnet --info

Installation et configuration


Nous passons directement au bot.

Téléchargez et déchargez l'archive avec l'assembly.

Ouvrez le fichier appsettings.json.

image

Insérez la clé d'accès et la clé de confirmation enregistrées précédemment dans la valeur AccessToken et la valeur de confirmation .

image

Enregistrez et revenez à la console.

Avec la commande 《cd " ", accédez au dossier d'assemblage et entrez la commande pour démarrer:

> dotnet vkBotCore.dll

Reste à lier le bot au groupe. Pour ce faire, dans la section Callback-API, dans le champ d'adresse, entrez le domaine auquel le serveur est attaché avec le chemin / api / callback.

image

Si tout est fait correctement, une coche verte apparaîtra après confirmation.

Création de plugin


Les fonctions de base de VkBotCore en tant que chatbot incluent seulement 2 commandes: / help et / tout le monde.
Pour augmenter la fonctionnalité, vous devez écrire un plugin.

Les plugins sont une bibliothèque de classes avec les fonctionnalités de base nécessaires pour se connecter en tant que plugin.

Créons un nouveau projet.

image

Connectez la bibliothèque vkBotCore.dll de l'assembly au projet.

image

image

Ajoutez à l'aide de vkBotCore.Plugins et héritez la classe principale de Plugin

using vkBotCore.Plugins;

namespace myPlugin
{
    public class MyFirstPlugin : Plugin
    {
    }
}

Ajouter la commande hello pour qu'elle réponde Salut {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()}");
        }
    }
}

Créez maintenant un nouveau dossier dans le dossier d'assemblage appelé plugins.
Enregistrez le plugin assemblé

image

p.s. dedans . Pour que les commandes fonctionnent, dans les paramètres de Calback-API >> Types d'événements, il est nécessaire d'activer la notification des messages entrants.

image

Exécutez et vérifiez:

image

Matériel connexe


Archives du
code source VkBotCore du plugin d'assemblage et de test
Article avec un chat bot basé sur ASP.NET Core, VkNet C #

All Articles