Сессия Редактировано: 28.08.2020 в 04:16
После того, как EasyVK вас авторизует, создается объект сессии - это просто объект, у которого есть свои методы и т.д. И он зависит безусовно, от файла сессии, если вы указали что необходимо сохранять сессию в файл. Вы можете изменить сессию и управлять ею через ее же методы.
ВНИМАНИЕ ! Объект сессии существует в EasyVK с версии 1.2, в версиях ниже был только метод vk.saveSession(), используйте последние релизы EasyVK.
session.save()
Данный метод сохраняет сессию по указанному файлу, если файл не был указан, то выкинится ошибка. Все просто.
vk.session.cache = []
vk.session.cache[0] = [/* Photos...*/]
vk.session.save().then(() => {
console.log('Saved!')
})
session.setPath()
Данный метод устанавливает путь к файлу сессии, если файла не существует, он автоматически будет создан.
const path = require('path')
const sessionPath = path.join(__dirname, '.current-session')
vk.session.setPath(sessionPath)
.then(({vk: EasyVK}) => {
console.log(EasyVK.session.path) //__dirname + .current-session
})
Конечно, вы можете изменять path, просто устанавливая его новым свойством, но я рекомендую делать это именно через данный метод.
Сам метод же может пригодиться в тех случаях, когда вам необходимо менять сессии прям "на ходу"... Может быть, у вас на одном процессе несколько ботов (не рекомендуется).
session.clear()
Данный метод отчищает файл сессии, вашу сессию, как объект, и потом синхронизирует с файловой системой, то есть сохранет данные.
Все просто!
vk.session.data = []
vk.session.clear(() => {
console.log(vk.session) // {data: undefined}
})
Данный метод "удаляет" не только те данные, которые вы добавили, но и те, что были изначально. Таким образом вы можете отчищать файл сессии.
Сами же свойства в объекте сессии не удаляются, так как метод delete работает очень медленно, не хотелось бы застопорить весь процесс только одним методом.