1. Apache27.04.2024 в 03:09от
Загрузка...
Загрузка...

Первонах

Тема в разделе "Курилка", создана пользователем SAMADHI, 21.07.2019.

  1. SAMADHI

    Оставайся всегда человеком
    SAMADHI

    Статус:
    Оффлайн
    Регистрация:
    08.08.18
    Сообщения:
    1.501
    Репутация:
    511 +/-
    Кто может дать первонах или за сколько готовы продать
     
      Forum Support нравится это.
  2. Zeonshop

    Zeonshop

    Статус:
    Оффлайн
    Регистрация:
    13.07.14
    Сообщения:
    1.514
    Репутация:
    170 +/-
    Webmoney: 225903256664
  3. vadim74a

    кря
    vadim74a

    Статус:
    Оффлайн
    Регистрация:
    25.09.13
    Сообщения:
    448
    Репутация:
    701 +/-
    первонаха нет, но готов продать второнах в этой теме
     
  4. MoneyFactory

    MoneyFactory

    Статус:
    Оффлайн
    Регистрация:
    11.12.17
    Сообщения:
    433
    Репутация:
    213 +/-
    Разберёшься как запустить. Если что в лс пиши (Если это тот первонах о котором я подумал :D)
    index.js
    Код:
    let { VK } = require('vk-io');
    let sample = (array) => array[Math.round((array.length - 1) * Math.random())];
    
    let { TOKEN, GROUPS, PHRASES, MILLISECONDS } = require('./config');
    
    let vk = new VK({
      token: TOKEN,
    });
    
    console.log('> Бот запущен.');
    
    let commented = [];
    let ids = [];
    
    (async () => {
      ids = await Promise.all(GROUPS.map(async (link) => {
        let res = await vk.snippets.resolveResource(link);
        if (!res || res.type !== 'group') throw new Error('Ссылка должна вести на группу');
    
        return -res.id;
      }));
    
      setInterval(async () => {
        let { items } = await vk.api.newsfeed.get({ filters: 'post', count: 1 });
        let post = items[0];
     
        if (!ids.includes(post.source_id) || commented.includes(post.post_id)) return;
     
        let message = sample(PHRASES);
     
        commented.push(post.post_id);
     
        try {
          await vk.api.wall.createComment({ owner_id: post.source_id, post_id: post.post_id, message });
        } catch (e) {
          let errors = {
            213: 'Нет доступа к комментированию записи (возможно, комментарии были закрыты)',
            222: 'Запрещённые гиперссылки',
            223: 'Превышен лимит комментариев на стене',
          };
    
          let error = errors[e.code] || 'Неизвестная ошибка';
    
          throw new Error(error);
        }
     
        console.log(`> Был оставлен комментарий <<${message}>>`);
      }, MILLISECONDS);
    })();
    
    config.js
    Код:
    let TOKEN = 'Здесь токен.'; // токен
    let GROUPS = ['https://vk.com/group', 'https://vk.com/group']; // ссылки на группы
    let PHRASES = ['Message 1', 'Message 2']; // сообщения, которые бот будет оставлять под постом
    let MILLISECONDS = 1000; // через сколько обновлять новости (в миллисекундах)
    
    module.exports = {
      TOKEN,
      GROUPS,
      PHRASES,
      MILLISECONDS,
    };
    
     
      Freezzee нравится это.
  5. Freezzee

     yadi.sk/d/6Z4ySzCVh-ZZwA
    Freezzee

    Статус:
    Оффлайн
    Регистрация:
    25.02.18
    Сообщения:
    417
    Репутация:
    526 +/-
    Могу кинуть свой сниппет для работы с 2captcha, прилепишь сюда если есть желание
    Писал как умею, далеко не все ответы-ошибки обрабатываются, скорее всего есть некрасивые моменты, подправишь


    Кстати, почему в фильтры не добавил source_ids?
    Допустим за секунду вышло 2 новости у разных пабликов, а у тебя получает только 1 последнюю, и если последней будет пост другой группы, то он пропустит комментирование.

    А тут, если я правильно понял, мы можем заранее обозначить группы, из которых нужно получить новости
    И если юзать капчу, то стоит поменять setInterval на рекурсивный setTimeout т.к. оно просто ее не дождется и запустится снова, опять запросив капчу
    [​IMG]
     
    Последнее редактирование: 21.07.2019
  6. easyhahaha

    easyhahaha

    Статус:
    Оффлайн
    Регистрация:
    23.06.18
    Сообщения:
    41
    Репутация:
    61 +/-
      Freezzee нравится это.