-
Notifications
You must be signed in to change notification settings - Fork 2
3. Запускаем пример
TheCooler edited this page Oct 12, 2018
·
7 revisions
- Тестовый проект представляет из себя консольное приложение, при запуске которое пытается достать настройки для бота из .json файла, который должен находиться рядом с бинарником.
- Когда вы первый раз запустите тестовое приложение, файл настроек не будет найден, и приложение создаст новый по-умолчанию. Вам нужно будет открыть его и заполнить нужными параметрами, получение которых рассматривается в статье Первая настройка.
- В вашем пользовательском коде, вам не обязательно подгружать настройки таким образом. Вы можете описать свою логику, вплоть до вшитых параметров в бинарнике.
Settings settings = null;
if ((settings = Settings.Load()) == null)
{
Console.WriteLine("Файл с настройками не найден рядом с бинарником. Будет создан файл настроек по-умолчанию.");
Console.WriteLine("Занесите в него корректные параметры для вашего бота и запустите пример снова");
Settings.CreateDefaults();
Console.ReadLine();
return;
}
- В данном примере мы создаем экземпляр нашего бота и передаем ему AccessToken и GroupUrl, полученные при загрузке настроек из файла, затем подписываемся на все доступные события, регистрируем шаблоны фраза - ответ.
Console.WriteLine("Настройки загружены.");
VkBot bot = new VkBot(settings.AccessToken, settings.GroupUrl);
bot.OnMessageReceived += MessageReceivedTest;
bot.OnGroupUpdateReceived += UpdateReceivedTest;
bot.RegisterPhraseTemplate("привет", "на привет всегда отвечаю кусь");
bot.RegisterPhraseTemplate("ты кто", new List<string>() {"меня зовут мишутка","вы о ком","не говори так","а ты кто?" } );
bot.RegisterPhraseTemplate("колобок", (msg) =>
{
Console.WriteLine($"кто-то написал {msg.Text}, я могу регировать на эту фразу так, как я хочу! system(\"reboot\")");
});
bot.Start();
- Метод MessageReceivedTest вызывается при получении сообщения в паблик, затем в консоль выводится ид отправителя (пользователя или беседы) и текст сообщения:
static void MessageReceivedTest(object sender, VkBot.MessageReceivedEventArgs args)
{
Console.WriteLine($"MessageReceivedTest Works!: {args.message.PeerId}: {args.message.Text}");
}
- Метод UpdateReceivedTest вызывается при каком-либо событии в группе. В данном случае, мы проверяем, является ли событие исходящим сообщением, от имени группы, и выводим id получателя и текст сообщения. Полный список событий в группе можно узнать тут
static void UpdateReceivedTest(object sender, VkBot.GroupUpdateReceivedEventArgs args)
{
if (args.update.Type == GroupUpdateType.MessageReply)
{
Console.WriteLine($"UpdateReceivedTest Works! intercept output message: {args.update.Message.PeerId}: {args.update.Message.Text}");
}
}