Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров15K
Я много дружу с библиотекой 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.

Поддержку можно найти тут.
Или актуальная ссылка на тг, для тех у кого обычные ссылки не открываюся.
Теги:
Хабы:
Всего голосов 10: ↑9 и ↓1+8
Комментарии7

Публикации

Истории

Работа

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань