Бот для Вк

Начинающий
Статус
Оффлайн
Регистрация
9 Ноя 2019
Сообщения
2
Реакции[?]
1
Поинты[?]
0
Здрасьте! Сегодня я вам покажу как создать своего бота для вк.

1. Подготовка​
Для начала скачаем и установим nodejs с сайта:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Дальше нам нужен любой текстовый редактор (хоть блокнот) лично я юзаю sublime text
Если вы установили nodejs то тогда устанавливаем для этого нажимаем на клавиатуре win + r и пишем cmd и нажимаем "ок" открывается командная строка проверяем правильно ли вы установили nodejs для пишем в командную строку:
JavaScript:
node -v
Если вы увидите какие то цифры а не сообщение об ошибке то поздравляю вы успешно установили nodejs
После этого опять же в командную строку пишем следующее:
JavaScript:
npm i vk-io --save
Тем самым мы установили модуль для работы с вк-api: vk-io
Ещё можно установить модуль fs он для работы с файловой системой для этого пишем в строку:
JavaScript:
npm i fs
Ну модули установили дальше нужно будет настроить группу для ботов это уже ищите в Ютубе ибо это слишком изи
Теперь создаём папку с любым названием в любом месте желательно в диске С и в это папке создаём файл с расширением .js (например app.js)
Подготовка окончена!

2. Скелет бота и первая команда
В созданный файл заходим через текстовый редактор и пишем туда следующее:
JavaScript:
const { VK } = require("vk-io");
const vk = new VK();
const { updates } = vk;

vk.setOptions({
    token: "токен",
    apiMode: "parallel",
    pollingGroupID: ид группы бота
});

updates.use(async (context, next) => {
    if (context.is("message") && context.isOutbox)
        return;

    try {
        await next();
    } catch (err) { console.error(err) }
});


updates.hear("start", async (context) => {
    await context.send("Привет! Я работа:)");
})

async function run() {
    await vk.updates.startPolling();
    console.log("hello world!");
}

run().catch(console.error);
Сохраняем файл и переходим в командную строку

3. Запуск бота
В командной строке переходим через cd в папку с ботом:
cd C:\названиепапкисботом
Дальше пишем:
Node название файла.js
В целом всё! Если эта статья наберёт 5 симпов покажу как подключится к базе данных и создадим пару игр;)


 
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
574
Реакции[?]
251
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это копипаст пост а не гайд. Где обьяснение функций, что за что отвечает?:seemsgood:

Если эта статья наберёт 5 симпов покажу как подключится к базе данных и создадим пару игр;)
:ahahaban:
 
Начинающий
Статус
Оффлайн
Регистрация
9 Ноя 2019
Сообщения
2
Реакции[?]
1
Поинты[?]
0
Это копипаст пост а не гайд. Где обьяснение функций, что за что отвечает?:seemsgood:


:ahahaban:
Круто! А тебе объяснение нужно? Всо равно никто даже читать код не будет только проверять
 
Начинающий
Статус
Оффлайн
Регистрация
13 Янв 2019
Сообщения
6
Реакции[?]
5
Поинты[?]
0
Круто! А тебе объяснение нужно? Всо равно никто даже читать код не будет только проверять
А в чем тогда смысл, если объяснений 0. Гайд на то и гайд, чтобы объяснить за что отвечает та или иная строчка кода.
-реп
 
Участник
Статус
Оффлайн
Регистрация
18 Апр 2016
Сообщения
433
Реакции[?]
257
Поинты[?]
5K
?

зачем
JavaScript:
const vk = new VK();
vk.setOptions({
    token: "токен",
    apiMode: "parallel",
    pollingGroupID: ид группы бота
});
когда можно
JavaScript:
const vk = new VK({
    token: "токен",
    apiMode: "parallel"
});
так же зачем строка "pollingGroupID: ид группы бота", когда в VK-IO после rc15 (вроде) это уже необязательный параметр, и он задается автоматически при vk.updates.start();

теперь по этому куску.
JavaScript:
async function run() {
    await vk.updates.startPolling();
    console.log("hello world!");
}
ты в начале делаешь const { updates } = vk; (правда я не знаю, зачем ты это делаешь), а тут уже используешь vk.updates.startPolling()
второе, теперь можно писать просто updates.start();

этот кусок кода можно вообще написать двумя способами:
JavaScript:
updates.start()
  .then(() => console.log('hello world'))
  .catch(console.log);
или
JavaScript:
async function run() {
  try {
    await updates.start();
    console.log('hello world')
  } catch (e) {
    console.log(e);
  }
}
по коду все.

Ещё можно установить модуль fs он для работы с файловой системой для этого пишем в строку:
зачем? fs встроен в ноду из коробки, его не нужно устанавливать через нпм

btw.

По факту ты перепастил мой гайд 2018 года, в котором те же ошибки, но они были вызваны от части по моей глупости и того, что вк ио просто не поддерживал некоторые действия)(

мог бы и текст спастить, больше на гайд было бы похоже)(


 
Сверху Снизу