Erstellung eines VK-Chatbots basierend auf VkBotCore C #

Dieser Artikel wurde für faule Leute erstellt, die nicht viel programmieren und sich mit all dem "Füllen" befassen wollen.

Gruppentraining


Zuerst müssen wir eine Community erstellen, die an unseren Bot gebunden ist.

Gehen Sie dazu zum Abschnitt "Communitys" und klicken Sie auf "Community erstellen".

Bild

Jetzt konfigurieren wir ihn für die Verwendung mit der Callback-API // Weitere Informationen zur Callback-API

Gehen Sie zu "Management" >>

Bild

>> „Einstellungen“ >> „Arbeiten mit der API“

Bild

Wir erstellen einen Zugriffsschlüssel mit allen Berechtigungen und schreiben ihn aus. Dies ist für uns hilfreich.

Bild

Wechseln Sie anschließend zur Registerkarte Callback-API, wählen Sie die neueste Version der API aus und schreiben Sie den angegebenen Bestätigungscode aus.

Bild

Die Nachrichten müssen noch aktiviert werden. Gehen Sie zum Abschnitt "Nachrichten" >> "Einstellungen für den Bot" und speichern Sie die Einstellung

Bild


Servervorbereitung



Um zu arbeiten, benötigt der Bot einen Ort, an dem er gestartet wird. Jedes Hosting ist dafür geeignet, da .NET Core von jeder Plattform aus gestartet werden kann.

Ich habe ein Beispiel mit einem VPS-Server unter Ubuntu 18.04 betrachtet.

Auf einem sauberen Server, damit der Bot funktioniert, müssen Sie .NET Core mindestens Version 2.2 installieren.

Wir geben die folgenden Befehle ein:
Der Befehl zum Registrieren des Microsoft-Schlüssels und des Webfeeds:

> 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

Aktualisieren der für die Installation verfügbaren Produkte:

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

Installieren Sie nun den .NET Core selbst. Geben Sie
für die Runtime- Version den folgenden Befehl ein:

> sudo apt-get install aspnetcore-runtime-3.1

Für die Software Development Kit- Version:

> sudo apt-get install dotnet-sdk-3.1

Überprüfen Sie nach der Installation der Umgebung ihre Bereitschaft mit dem folgenden Befehl:

> dotnet --info

Installation und Einrichtung


Wir gehen direkt zum Bot.

Laden Sie das Archiv mit der Assembly herunter und entladen Sie es.

Öffnen Sie die Datei appsettings.json und fügen Sie den zuvor gespeicherten Zugriffsschlüssel und den Bestätigungsschlüssel

Bild

in den AccessToken- Wert und den Bestätigungswert ein .

Bild

Speichern Sie und kehren Sie zur Konsole zurück.

Wechseln Sie mit dem Befehl 《cd " "》 zum Assembly-Ordner und geben Sie den folgenden Befehl ein:

> dotnet vkBotCore.dll

Es bleibt, den Bot an die Gruppe zu binden. Geben Sie dazu im Abschnitt Callback-API im Adressfeld die Domäne ein, an die der Server mit dem Pfad / api / callback angeschlossen ist.

Bild

Wenn alles korrekt ausgeführt wurde, wird nach der Bestätigung ein grünes Häkchen angezeigt.

Plugin-Erstellung


Die Grundfunktionen von VkBotCore als Chatbot umfassen nur zwei Befehle: / help und / every.
Um die Funktionalität zu erhöhen, müssen Sie ein Plugin schreiben.

Plugins sind eine Klassenbibliothek mit den grundlegenden Funktionen, die zum Verbinden als Plugin erforderlich sind.

Erstellen wir ein neues Projekt.

Bild

Verbinden Sie die Bibliothek vkBotCore.dll von der Assembly mit dem Projekt.

Bild

Bild

Fügen Sie using zu vkBotCore.Plugins hinzu und erben Sie die Hauptklasse vom Plugin

using vkBotCore.Plugins;

namespace myPlugin
{
    public class MyFirstPlugin : Plugin
    {
    }
}

Fügen Sie den Befehl hallo hinzu, damit er auf Hi {name} reagiert.

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

Erstellen Sie nun einen neuen Ordner im Assembly-Ordner mit dem Namen Plugins.
Speichern Sie die zusammengestellten Plugin-

Bild

Seiten darin . Damit die Befehle funktionieren, muss in den Einstellungen von Calback-API >> Ereignistypen die Benachrichtigung über eingehende Nachrichten aktiviert werden.

Bild

Führen Sie aus und überprüfen Sie:

Bild

Verwandte Materialien


Archiv des Assembly- und Test-Plugins
VkBotCore-Quellcode
Artikel mit einem Chat-Bot basierend auf ASP.NET Core, VkNet C #

All Articles