Pull to refresh

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

Reading time2 min
Views14K
Я много дружу с библиотекой 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.

Поддержку можно найти тут.
Или актуальная ссылка на тг, для тех у кого обычные ссылки не открываюся.
Tags:
Hubs:
+8
Comments7

Articles

Change theme settings