Форум программистов, компьютерный форум, киберфорум
Nikto
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Оповещения во ВК на Node.js

Запись от Nikto размещена 31.03.2017 в 12:56
Показов 2670 Комментарии 0

Этот пост небольшая заметка о том, как сделать оповещения во ВК с помощью Node.js. Почему на ноде спросит кто-нибудь, и я скажу, что нода потрясающий инструмент для быстрой и удобной реализации серверных программ. Напишем с вами вот такую либу, которая позволит легко запилить себе оповещения во ВК:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var request = require('request');
var deasync = require('deasync');
 
var url_get_access_token = "https://oauth.vk.com/token?grant_type=password&client_id=3697615&client_secret=AlVXZFMUqyrnABp8ncuU&username="
+ YOUR_LOGIN + "&password=" + YOUR_PASS + "&scope=4096&v=5.60";
 
var token = "";
 
init = function()
{
    request(url_get_access_token, function (error, response, body) 
    {
        if (!error && response.statusCode == 200)   
        {
            var jObject = JSON.parse(body);
            token = jObject.access_token;
        }
    });
    while (token === "")
    {
        deasync.runLoopOnce();
    }
    return this;
}
 
sendMessage = function(text)
{
    request(encodeURI("https://api.vk.com/method/messages.send?access_token=" + token + "&user_id=" + YOUR_ID 
    + "&message=" + text.replace(new RegExp("#", 'g'), "")), function (error, response, body) 
    {
        if (!error && response.statusCode == 200)   
        {
            console.log(body);
            var obj = JSON.parse(body);
            if ((obj.error) && (obj.error.error_code == 5))
            {
                init();
                sendMessage(text);
                console.log("token false");
            }
        }
    });
}
 
module.exports.init = init;
module.exports.sendMessage = sendMessage;
Расскажу вкратце что тут происходит. Самое интересное это то, что приложение во ВК создавать не нужно, мы будем использовать данные официального приложения ВК для андроид и соответственно использовать методы API VK через него. Как это мы сделаем? Просто заюзаем client_id и client_secret чужого приложения.
Какие в этом плюсы?
1) Не надо создавать лишний раз приложение.
2) Гораздо меньше лимитов на отправку, т.к. приложение официальное.
Реализовано всего две функции: инициализация (получение токена) и отправка сообщения. В подробности реализации вдаваться я не хочу, тем более это просто пример.

А так можно использовать нашу либу в проекте:

JavaScript
1
2
3
var vk = require('./libs/vk').init();
...
vk.sendMessage(message);
Для тех кто скажет: "а почему бы не использовать готовый sdk для ноды?". Потому что ради одной функции отправки сообщений не целесообразно тянуть целое sdk.

Источник: https://catplusplus.ru/blog/alerts_vk_with_nodejs
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru