Начало дружбы с VkNet

  • Tutorial
Я много дружу с библиотекой VkNet. Но, к сожалению, документация по работе с ней достаточно устарела. Так что я решил поделиться и создать маленький туториал по основам работы с этой библиотекой.

Прежде всего нужно создать приложение здесь.



И из настроек только что созданного приложения взять App Id.



Теперь можно переходить непосредсвенно к коду.

Создадим консольное приложения .net core и добавим зависимость VkNet.



Создадим экземпляр VkApi.

VkApi api = new VkApi();


Теперь необходимо авторизоваться.


        api.Authorize(new ApiAuthParams()
            {
                Login = "+79*******", 
                Password = "***",
                ApplicationId = 684***,
                Settings = Settings.All
            });

Получим список из 20 последних диалогов

var dialogs = api.Messages.GetConversations(new GetConversationsParams());

А теперь получим 20 последних сообщений из первого диалога.

var messages = api.Messages.GetHistory(new MessagesGetHistoryParams()
                {PeerId = dialogs.Items[0].Conversation.Peer.Id});

И, пожалуй, напечатаем результаты.

foreach (var msg in messages.Messages)
            {
                Console.WriteLine(msg.Text);
            }

И отправим тестовое сообщение автору первого предыдущего сообщения.


           api.Messages.Send(new MessagesSendParams()
            {
                 // ну или подставить сюда ид из диалога
                PeerId = messages.Messages.First().Id,
                Message = "Test",
                RandomId = new Random().Next()
            });



Как пример:



И вот такой конечный код мы получили

тут

           VkApi api = new VkApi(); 
            api.Authorize(new ApiAuthParams()
            {
                Login = "*", 
                Password = "*",
                ApplicationId = *,
                Settings = Settings.All
            });
            var dialogs = api.Messages.GetConversations(new GetConversationsParams());
            var messages = api.Messages.GetHistory(new MessagesGetHistoryParams()
                {PeerId = dialogs.Items[0].Conversation.Peer.Id});
            Console.OutputEncoding = Encoding.UTF8;
            foreach (var msg in messages.Messages)
            {
                Console.WriteLine(msg.Text);
            }

            api.Messages.Send(new MessagesSendParams()
            {
                PeerId = messages.Messages.First().Id,
                Message = "Test",
                RandomId = new Random().Next()
            });


P.S.

Поддержку можно найти тут.
Или актуальная ссылка на тг, для тех у кого обычные ссылки не открываюся.
Поделиться публикацией

Комментарии 7

    0
    Было бы неплохо увидеть правильно реализованный лонгпул для сообщений сообщества. Множество новичков на этом останавливаются и не могут его сделать.
    Лично я переписывал код («Montece Bot» с ютуба) под группу, работает, но в правильности совсем не уверен.
      0
      Это уже не базовый кейс
      руки дойдут — постараюсь написать
      А так прошу всех в тг, там отличный саппорт)
      0
      Много методов не реализовано… А можно как — нибудь нереализованные методы через нативные api вызывать, но из под библиотеки?
        0
        дореализовать самому, но прошу в тг по ссылке
        сейчас вроде как почти полное покрытие есть, только доку не завезли)
          0
          Да что — то не открывается у меня t.me/VkDotNet… (
            0
            добавил ссылку через зеркало
              0
              нашёл через телегу, вступил так, спасибо )

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое