Skip to content

Удобная, маленькая и кроссплатформенная библиотека для создания ботов в соц. сети ВКонтакте

License

Notifications You must be signed in to change notification settings

truecooler/VkBotFramework

Repository files navigation

VkBotFramework

VkBotFramework Logo

Удобная, маленькая и кроссплатформенная библиотека для создания ботов в соц. сети ВКонтакте

Getting Started

Эти инструкция позволит вам просто и быстро сделать своего бота для вк.

Install

Установите Nuget пакет в ваш проект: Package Manager

PM> Install-Package VkBotFramework

.NET CLI

> dotnet add package VkBotFramework

Visual Studio Nuget Manager

Проект -> Свойства -> Управление пакетами Nuget -> Обзор -> Поиск -> VkBotFramework -> Установить

Prerequisites

На данный момент можно создавать только групповых ботов, а значит вам потребуется AccessToken и GroupUrl для взаимодействия с группой, а так же выставить необхдимые права доступа боту.

Начальная настройка

AccessToken
  • Вы можете создать его в интерфейсе настроек сообщества. Для этого достаточно открыть раздел «Управление сообществом» («Управление страницей», если у Вас публичная страница), выбрать вкладку «Работа с API» и нажать «Создать ключ доступа». Так же есть и другие способы получить токен, ознакомиться можно тут.
Enable Pong Poll Api
  • Так же необходимо зайти во вкладку Long Poll Api, перевести состояние Long Poll Api во "включен",а так же во вкладке "типы событий" выбрать нужные события, которые будут приходить боту.
Что такое GroupUrl?
  • Это ссылка на вашу группу, которую можно взять прямо из адресной строки браузера. Библиотека сама определит id группы для своих нужд.
Wiki
  • Более подробно о настройке и использовании бота можно прочесть в wiki.

Example

Использование библиотеки крайне простое:

VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl);
/*подписываемся на событие о входящем сообщении, в которое передается экземпляр сообщения*/
bot.OnMessageReceived += MessageReceivedTest; 

/*подписываемся на событие об изменении в группе, в которое передается экземпляр события в группе*/
bot.OnGroupUpdateReceived += UpdateReceivedTest; 

/*регистрируем шаблон {регулярное выражение,ответ бота}*/
bot.TemplateManager.Register("привет", "на привет всегда отвечаю кусь"); 
bot.TemplateManager.Register("^[0-9]+$", "ого, я определил, что вы прислали мне число!");

/*регистрируем шаблон {регулярное выражение,случайная фраза из списка}*/
bot.TemplateManager.Register("ты кто", new List<string>() {"меня зовут мишутка","вы о ком","не говори так со мной","а ты кто?"}); 

/*регистрируем шаблон {регулярное выражение, user specified callback}*/
bot.TemplateManager.Register("колобок", (msg) =>
{
	Console.WriteLine($"кто-то написал {msg.Text}, я могу регировать на эту фразу так, как я хочу! system(\"reboot\")");
});

/*запускаем бота синхронно...*/
bot.Start();
        

С наглядными примерами можно ознакомиться тут

TODOs

  • Сделать подписки на события о приходе сообщения/обновления в группе
  • Сделать функционал регистрации шаблона {регулярная фраза,ответ/список ответов/user callback}
  • Сделать асинхронный Start
  • Добавить функционал кнопок
  • Сделать логгирование
  • Сделать тесты
  • Сделать библиотеку пригодной для создания бота пользователя(без группы)

Зависимости

  • VkNet - взаимодействие с Api ВКонтакте.

Built With

License

This project is licensed under the MIT License - see the LICENSE file for details

About

Удобная, маленькая и кроссплатформенная библиотека для создания ботов в соц. сети ВКонтакте

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages