С Новым годом! Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 06.06.2020
Сообщений: 1

Резолвер капчи puppeteer

09.05.2021, 11:56. Показов 1034. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ниже часть кода бота.

Бот шлет в дискорд картинку с капчей и ждет ответ (ручной ввод)
Используются node.js puppeteer discord.js и еще много чего.
можно ли подключить резолвер капчи? в замен этого кода.
https://rucaptcha.com/api-rucaptcha (имеется апи, формат приема и отправки сообщений)

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
export async function sendDMAsync(
  payload: string
): Promise<Discord.Message | undefined> {
  if (userId && token) {
    logger.debug('sending discord DM');
    try {
      const client = await getDiscordClientAsync();
      const dmChannel = await getDMChannelAsync(client);
      if (!dmChannel) {
        logger.error('unable to get discord DM channel');
        return;
      }
      const result = await dmChannel.send(payload);
      logger.info('discord DM sent');
      return result;
    } catch (error: unknown) {
      logger.error("couldn't send discord DM", error);
    }
  }
  return;
}
 
export async function getDMResponseAsync(
  botMessage: Discord.Message | undefined,
  timeout: number
): Promise<string> {
  const iterations = Math.max(Math.floor(timeout / pollInterval), 1);
  let iteration = 0;
  const client = await getDiscordClientAsync();
  const dmChannel = await getDMChannelAsync(client);
  if (!dmChannel) {
    logger.error('unable to get discord DM channel');
    return '';
  }
  return new Promise(resolve => {
    let response = '';
    const intervalId = setInterval(async () => {
      const finish = (result: string) => {
        clearInterval(intervalId);
        resolve(result);
      };
      try {
        iteration++;
        const messages = await dmChannel.messages.fetch({
          after: botMessage?.id,
        });
        const lastUserMessage = messages
          .filter(message => message.reference?.messageID === botMessage?.id)
          .last();
        if (!lastUserMessage) {
          if (iteration >= iterations) {
            await dmChannel.send('Timed out waiting for response...');
            logger.error('no response from user');
            return finish(response);
          }
        } else {
          response = lastUserMessage.cleanContent;
          lastUserMessage.react('done');
          logger.info(`got captcha response: ${response}`);
          return finish(response);
        }
      } catch (error: unknown) {
        logger.error("couldn't get captcha response", error);
        return finish(response);
      }
    }, pollInterval * 1000);
  });
}
Добавлено через 3 минуты
сам бот тут https://github.com/jef/streetmerchant/
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2021, 11:56
Ответы с готовыми решениями:

Puppeteer
Здравствуйте. Пытаюсь освоить headless browser. Захожу в twitch.tv и делаю скриншот. Суть проблемы в следующем. С google.com это всё...

Puppeteer и electron
Как запустить puppeteer на electron. пробовал устанавливать puppeteer на проект electron выдает ошибки

Puppeteer-page-proxy
Всем привет! Как с помощью puppeteer-page-proxy подключаться по имени и пароль к прокси? Без авторизации полет нормальный, все...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.05.2021, 11:56
Помогаю со студенческими работами здесь

Разработчик тестов Puppeteer (Node js)
Требуется разработчик автоматизированных тестов Puppeteer+js Необходимо: - Писать и проигрывать тесты на Puppeteer - Установить и...

Puppeteer - Drag'n'drop в pinterest
Делаю в puppeteer бота для drag'n'drop пинов в pinterest. И возникает ошибка, когда на пине срабатывает драг, но дропа уже не происходит. Я...

puppeteer, page.evaluate ломает код
В общем, есть метод page.evaluate, я уже какой час с ним вожусь, но не могу понять даже намёка, чего он от меня хочет. Вызывает ошибку: ...

"Залип" резолвер в ubuntu server 20.04
Всем доброго времени суток! В общем, опишу суть загадочной проблемы. Сломался резолвер на ubuntu server 20.04, именно на txt записи...

Что означают следующие ошибки JS при использовании puppeteer?
Ранее не уделял внимания, но вот сейчас смотрю и разбираю логи с ошибками которые мне выдает когда я захожу на сайт через puppeteer, вот к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru