Примеры Редактировано: 28.08.2020 в 04:15
Прежде чем начать работу с Easy VK, познакомьтесь с ним на примерах, так будет проще понять, что он из себя представляет. Я постараюсь объяснить абсолютно все.
# Отправка сообщения
В этом примере показано, как работает Easy VK в целом, на самом простом примере - отправке сообщения самому себе, многие моменты можно опустить, и оставить только самую важную часть
const easyvk = require('easyvk')
easyvk({
// воспользуйтесь password и username, чтобы получить токен
// автоматически
access_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: 'Привет!' // Текст сообщения, по мануалу ВКонтакте
}).then(({ vkr: 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({
access_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 {vkr: fullMessage} = (await(getMessage(msg)))
fullMessage = fullMessage.items[0]
if (!fullMessage.out) { // если это не наше сообщение
vk.call('messages.send', {
user_id: fullMessage.user_id,
message: 'Привет!'
})
}
})
})
})