Примеры Редактировано: 28.08.2020 в 04:45
Прежде чем начать работу с Easy VK, познакомьтесь с ним на примерах, так будет проще понять, что он из себя представляет. Я постараюсь объяснить абсолютно все.
# Чат-бот игра "Виселица"
Когда-то давно я писал игру "Виселица" в виде игры-бота, этот пример доступен, его можно скачать и воспользоваться бесплатно. Если возникнут вопросы, или Вы захотите попросить меня его запустить, пишите.
СКАЧАТЬ: vk.com/npm_easyvk?w=wall-162208999_131
# Отправка сообщения
В этом примере показано, как работает Easy VK в целом, на самом простом примере - отправке сообщения самому себе, многие моменты можно опустить, и оставить только самую важную часть
const easyvk = require('easyvk')
easyvk({
// воспользуйтесь password и username, чтобы получить токен
// автоматически
token: "{ТОКЕН_ПОЛЬЗОВАТЕЛЯ}",
}).then(async (vk) => {
// после авторизации вы получаете объект EasyVK (vk), с которым работаете дальше
// user_id авторизованного аккаунта (по токену)
const me = vk.session.user_id
// Обращаемся к методу messages.send с параметром user_id и message
vk.call('messages.send', {
user_id: me,
message: 'Привет!', // Текст сообщения, по мануалу ВКонтакте
random_id: easyvk.randomId()
}).then((response) => {
// После выполнения запроса, ВКонтакте возвращает ответ
console.log(response)
// Получить полный ответ, а не только его часть response
console.log(response.getFullResponse())
}).catch((error) => {
// Если произойдет ошибка при отправке запроса, она выводится в консоль
console.log(error);
});
}).catch(console.error)
# Чат-бот
Теперь Вы, уже зная, как работать с методами, можете понять, как работает иерархия объектов в EasyVK. Посмотрите, как можно создать простейший чат-бот
Данный пример показывает работу только для пользовательского LongPoll, чтобы прослушивать группы и создавать чат-бота группы, используйте Bots LongPoll API
const easyvk = require('easyvk')
easyvk({
token: '{ТОКЕН_ПОЛЬЗОВАТЕЛЯ}'
}).then(vk => {
async function getMessage (msgArray = []) {
const MESSAGE_ID__INDEX = 1;
return vk.call('messages.getById', {
message_ids: msgArray[MESSAGE_ID__INDEX]
})
}
// Подключаемся к серверу для "прослушивания" пользователя
vk.longpoll.connect().then((connection) => {
// Слушаем сообщения пользователя
connection.on('message', async (msg) => {
// сообщение для User LongPoll хранится в массиве
let fullMessage = await getMessage(msg);
fullMessage = fullMessage.items[0]
if (!fullMessage.out) { // если это не наше сообщение
vk.call('messages.send', {
user_id: fullMessage.user_id,
message: 'Привет!',
random_id: easyvk.randomId()
});
}
})
})
})