KopeechkaS - модуль для работы с почтами Kopeechka.store
-
Название: KopeechkaS
Версия: 1.8
Данные: KopeechkaS.zip
Исходник: -.
Согласие на добавление модуля в BAS: Да.
Описание: Работа с облачным сервисом входящей электронной почты Kopeechka.store. Не официальный модуль.История версий:
Branch for English speakers
https://community.bablosoft.com/topic/19063/kopeechkas-wrapper-around-kopeechka-store-api
Использование одной почты в нескольких потоках
При этом на сервер не отправляются лишние запросы.
Все данные почт хранятся в оперативной памяти, можно выбрать модель хранения:local
,global
,resource
.local
- хранить локально. Эл. почта этого потока не будет доступна другим потокам.
global
- хранить глобально. Все потоки могут получить доступ к любым данным эл. почты в этом хранилище.
resource
- хранить в ресурсе. То же, что иglobal
, но немного медленнее.
Модели храненияglobal
иresource
не могут быть очищены автоматически. Во избежание утечек памяти, эл. почту необходимо закрывать.
Модель хранилищаlocal
очищается автоматически при завершении потока.Дизайн кода выполнен таким образом, чтобы свести процент ошибок к минимуму
Присутствуют несколько категорий ошибок:
обычные
,критические
,игнорируемые
.
Поведение можно переназначать, каждая ошибка имеет свой ID.Обычные
ошибки - при их возникновении вызывается действиеFail
.
Критические
ошибки - при их возникновении вызывается действиеПрервать скрипт
.
Игнорируемые
ошибки - игнорируются.Список ID обычных ошибок:
Список ID критических ошибок:
Список ID игнорируемых ошибок:
Строгий режим
По умолчанию все действия работают в
строгом режиме
.
Это означает, что при возникновении любойобычной
ошибки будет вызвано действиеFail
, как и должно быть.
Однако, если отключить строгий режим - всеобычные
ошибки будут игнорироваться.
Действие продолжит выполняться до достижения успешного результата.
Если за отведённое время достичь успешного результата не удалось - будет возвращёнnull
.Удобный интерфейс
Понятный и интуитивный, присутствуют описания и примеры.
Некоторые API совмещены в одном действие.
Расширен функционал.
Немного изменены стандартные цвета конструктора под цвета сервиса.Встроенный дебаггер
Информативный и понятный.
Показывает отправленные запросы, временные метрики в мс, текст ошибок и пр.Настройка доставки запросов
Включение/отключение использования SSL.
Индивидуальный для каждого действия выбор времени ожидания и интервала отправки запросов.Дополнительно
- Работа с несколькими почтами одновременно, и глобально и локально.
- Применение настроек глобально (для всех новых потоков).
- Используется внутренний http клиент.
- Автономная работа без дополнительных зависимостей.
Список реализованных API
- Получить эл. адрес - https://bit.ly/3myvFtt, https://bit.ly/3Hge6WV
- Получить сообщение - https://bit.ly/3JjSdI2
- Закрыть почту - https://bit.ly/3JjY9Rq
- Получить домены - https://bit.ly/3eqIcuu, https://bit.ly/3pqMkkA
- Получить баланс - https://bit.ly/3JfllQR
Модуль хорошо протестирован на версии BAS 24+.
Версия 23.2.2 также тестировалась. Проблем не обнаружено, однако работа устаревших версий не гарантируется.Этот модуль не является официальным, распространяется на некоммерческой основе, в формате "как есть".
Модификация и распространение на коммерческой основе запрещены.
-
Для тех, кто будет искать:
Изменить ошибки по умолчанию раз и навсегда можно отредактировав файл internal/errors.js.
В этом файле находится объект, представляющий из себя список других объектов:
ru
- русский текст ошибки
en
- английский текст ошибки
action
- действие, которое будет вызвано для указанного кода ошибки
fail
- Fail
die
- Прервать Скрипт
stop
- Не перезапускать поток (Fail)
instantly
- Завершить скрипт мгновенно (Прервать скрипт)
-
Упрощённое сравнение двух модулей на примерно идентичных настройках.
KopeechkaS
Официальный модуль
-
upd
1.1 - обновлены ссылки в интерфейсе
-
до этого времени пользовал оф версию 2.1, решил поставить эту. Регулярка старая не работает на этом. Не парсит. И вообще странно, зачем указывать регулярку на парсинг в блоке на запрос мыла? Ее надо указывать в блоке на получение, иначе отладку не провести на регулярку тк каждый раз при выполнении блока взять мыл с регуляркой будет браться мыл и надо проводить повторный цикл весь получения письма (регистрацию, например). А так, выполняя блок (как раньше) с получением, мы отлаживаем регулярку без перезапуска всего скрипта.
В общем, не знаю, в чем дело, но не парсит.
промо-код: <strong>([\s\S]+)<\/strong><br>\n
-
@euseller регулярные выражения применяются на уровне сервера в соответствии с API https://bit.ly/3myvFtt .
Об этом указано в описании действия.Не знаю как работает официальный модуль, но API сервиса не позволяет указывать регулярное выражение при запросе сообщения.
Предполагаю, что официальный модуль парсит по регулярному выражению локально. В таком случае получайте полное сообщение и применяйте регулярное выражение средствами баса. Или измените регулярное выражение так, чтобы сервис мог его принять - об этом лучше поговорить с поддержкой.
-
понятно. Перехожу обратно.
-
upd 1.2
- Установка максимального времени выполнения действия вынесена в виде отдельного поля
Временной порог
в группе "Доставка запросов".
Теперь можно использовать переменные/ресурсы для установки максимального времени.
Отвечающий за это API было немного изменён.
Для плавного перехода с более ранней версии - используйте экшенОбновить действия проекта
в выпадающем меню слева сверху.
Ссылки на предыдущие версии в шапке.
- Установка максимального времени выполнения действия вынесена в виде отдельного поля
-
upd 1.3
- Исправлен редкий баг
-
upd 1.4
- Исправлен баг при использовании переменных в группе доставки запросов
-
upd 1.7
- Исправлена ошибка, приводившая к переопределению внутренней функции result()
-
This post is deleted!
-
upd 1.8
-
Добавлена возможность указывать свой soft_id при заказе почты. Параметр называется "ID разработчика ", находится в "Получить эл. адрес" > Параметры.
-
Исправлен баг при использовании локального хранилища писем во время отмены почты (ни на что ранее не влиял, но был исправлен).
Помимо этого, у модуля есть страница на github. Будет круто, если вы поставите звезду репозиторию. Спасибо.
https://github.com/Sadzurami/KopeechkaS
-
-
Итак, официальный модуль обновился. Стало ли лучше?
Очередное сравнение.Условия:
- 200 потоков
- 5000 успехов
- 5000 неудач
Действия:
- Получить почту (сайт example.com, выборка REAL)
- Получить сообщение (обёрнуто в игнорирование ошибок, для сравнения одного и того же функционала)
- Закрыть почту
- Получить баланс
Официальный модуль:
-
действия в проекте
-
результат
Время:
8 минут, 46 секунд
Обработанные ошибки:12794
, 90% из них обработана действием "игнорировать ошибки" из примера выше, а не внутренней логикой
Не обработанные ошибки:3945
KopeechkaS
(не официальный)
-
действия в проекте
-
результат
Время:
4 минуты, 17 секунд
Обработанные ошибки:2
Не обработанные ошибки:0
Вам может показаться тест не реалистичным, однако его цель - лишь показать результат на сухих цифрах.
Пользуясь официальным модулем ваш скрипт тратит в 2 раза больше времени на выполнение функций, а вы тратите в разы больше времени на обработку ошибок.
-
Всем привет.
Написал библиотеку для nodejs и браузера.
Если есть желание, можете пользоваться.git
https://github.com/Sadzurami/kopeechka-store.gitnpm
npm install @sadzurami/kopeechka-store
yarn
yarn add @sadzurami/kopeechka-store
CDN
<script src="https://cdn.jsdelivr.net/gh/Sadzurami/kopeechka-store@latest/kopeechka.min.js"></script>