{"_id":"@dieugene/tg-updates-checker","_rev":"4-6de884280add540b2a1a65b0000bbe42","name":"@dieugene/tg-updates-checker","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@dieugene/tg-updates-checker","version":"1.0.0","author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/tg-updates-checker@1.0.0","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"dist":{"shasum":"21666114fe1dd2c62a68c482d3b39e000ad2fa02","tarball":"https://registry.npmjs.org/@dieugene/tg-updates-checker/-/tg-updates-checker-1.0.0.tgz","fileCount":4,"integrity":"sha512-KX0gX6PcnUkBJuCI8QGzgiyaqKEnrpSP3aBh4jY2YxqRI1+WAwtn9qXW7c8So4+TDwQePd8JbEgsEiykCyrleA==","signatures":[{"sig":"MEQCICKcqlt5zrCYsvHh4BkvWwPQeoCRjyk0qHCJr9x5wdGcAiBYNx80otslxKBKlo492C/vfOj/9E4c1Q2wpxvVqKf6Og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1759},"main":"main.js","gitHead":"0ff8907cbe52999deca313fcf181404ee66f60d1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"_npmVersion":"10.8.1","description":"Модуль отслеживания запросов Telegram-ботов","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/ydb":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tg-updates-checker_1.0.0_1725022884230_0.9660177447047025","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@dieugene/tg-updates-checker","version":"1.0.1","author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/tg-updates-checker@1.0.1","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"dist":{"shasum":"cd8ddb60982b359f591783eee6e16da29a886066","tarball":"https://registry.npmjs.org/@dieugene/tg-updates-checker/-/tg-updates-checker-1.0.1.tgz","fileCount":4,"integrity":"sha512-VL3EOZiYLwga+R5f1pJ8IMH2qVpaVnRgNlIay4BMZ9GWwE2PkrInDNysnJJzfbup1Wt37k1YSC10R0XP0gUi+w==","signatures":[{"sig":"MEUCICUD58FMyfx13uyfeT2LU6uin1XAphGUCl9yZ6QEnibUAiEAxMZ0eh5du1QSLJFb4HXscZeGhje4m+WJb1UEDm7YKmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1880},"main":"main.js","gitHead":"67c7ee75df890a57fd0e8c0f1aa4810bfd0fc56c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"_npmVersion":"10.8.1","description":"Модуль отслеживания запросов Telegram-ботов","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/ydb":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tg-updates-checker_1.0.1_1740034959096_0.5405852295250386","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dieugene/tg-updates-checker","version":"1.0.2","author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/tg-updates-checker@1.0.2","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"dist":{"shasum":"17fc7f6d524160bf99a2a17ab19793effb2e474f","tarball":"https://registry.npmjs.org/@dieugene/tg-updates-checker/-/tg-updates-checker-1.0.2.tgz","fileCount":4,"integrity":"sha512-iE/i7I1sfjqfMHDo9t5xB67yUiT3rK0Yd5pONlYsttYTT9RfnF/oMLawk5HYdyKGMXwffmRElhszcio9olJP4A==","signatures":[{"sig":"MEQCIEteGlFpTNSvoc2my5gYA1bDKmSBkFTXVMySmH4yXQgMAiB/G4S5PoAX5+OgQcgtdahRnUfrlej4s3tCjU56fHE4DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1880},"main":"main.js","gitHead":"67c7ee75df890a57fd0e8c0f1aa4810bfd0fc56c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"_npmVersion":"10.8.1","description":"Модуль отслеживания запросов Telegram-ботов","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/ydb":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tg-updates-checker_1.0.2_1740035844433_0.5197660199713463","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@dieugene/tg-updates-checker","version":"2.0.0","description":"Модуль для отслеживания и подсчета количества запросов Telegram-ботов с использованием YandexDB Serverless","main":"main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Eugene Ditkovsky"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/Dieugene/tg-updates-checker.git"},"bugs":{"url":"https://github.com/Dieugene/tg-updates-checker/issues"},"homepage":"https://github.com/Dieugene/tg-updates-checker#readme","dependencies":{"@dieugene/ydb-serverless":"^1.0.0"},"engines":{"node":">=14.0.0"},"_id":"@dieugene/tg-updates-checker@2.0.0","gitHead":"87750fa48cd9b8aac8a1ad71fa101fa8490bc01f","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-cmhGsqA+6qzXR4uSWbWaGU5YuvFbMxJijupj3LwZ22+AVdjwn/ikcoGtaX2nfHx+I0e8ptkMkswBTIXv+zLrQA==","shasum":"29759e992b9d00e46ee83915ed8a0a3ed4d993cc","tarball":"https://registry.npmjs.org/@dieugene/tg-updates-checker/-/tg-updates-checker-2.0.0.tgz","fileCount":3,"unpackedSize":6990,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDPgfUEF6ScCZc/eUFyCt+gQAS1A8seG2RGOVRt3dRtaAiEAgFTmtOfpK2uc1W+YZMkKEAgVqdkTF/04CQWwMc2Ghsw="}]},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com","actor":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tg-updates-checker_2.0.0_1750689324341_0.6736165143819726"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-30T13:01:24.106Z","modified":"2025-06-23T14:35:24.698Z","1.0.0":"2024-08-30T13:01:24.371Z","1.0.1":"2025-02-20T07:02:39.261Z","1.0.2":"2025-02-20T07:17:24.637Z","2.0.0":"2025-06-23T14:35:24.503Z"},"author":{"name":"Eugene Ditkovsky"},"license":"ISC","description":"Модуль для отслеживания и подсчета количества запросов Telegram-ботов с использованием YandexDB Serverless","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"readme":"# Telegram Updates Checker\n\nМодуль для отслеживания и подсчета количества запросов Telegram-ботов с использованием YandexDB Serverless.\n\n## Описание\n\n`tg-updates-checker` - это Node.js модуль, который позволяет отслеживать количество обновлений (updates) для Telegram-ботов и сохранять эту информацию в базе данных YandexDB Serverless. Модуль автоматически ведет подсчет запросов и ограничивает максимальное значение до 200.\n\n## Основные возможности\n\n- 📊 Подсчет количества обновлений для каждого бота\n- 🔒 Автоматическое ограничение счетчика (максимум 200)\n- 💾 Сохранение данных в YandexDB Serverless\n- ⚡ Асинхронная работа с базой данных\n- 🌐 Поддержка Serverless архитектуры YandexDB\n\n## Установка\n\n```bash\nnpm install @dieugene/tg-updates-checker\n```\n\n## Настройка\n\nПеред использованием модуля необходимо настроить подключение к YandexDB Serverless:\n\n### Переменная окружения\n\nУстановите переменную окружения с адресом вашей YDB:\n\n```bash\nexport ADMIN_YDB_ADDRESS=your_ydb_address_here\n```\n\nПример:\n```bash\nexport ADMIN_YDB_ADDRESS=/ru-central1/b1gvk33b05/etntbv1mrm3\n```\n\n## Использование\n\n```javascript\nconst { get_updates_count } = require('@dieugene/tg-updates-checker');\n\nasync function handleTelegramUpdate() {\n    const botToken = 'your_bot_token';\n    const updateId = 'unique_update_id';\n    \n    try {\n        const currentCount = await get_updates_count(botToken, updateId);\n        console.log(`Текущее количество обновлений: ${currentCount}`);\n    } catch (error) {\n        console.error('Ошибка при получении счетчика:', error);\n    }\n}\n\n// Пример использования\nhandleTelegramUpdate();\n```\n\n## API\n\n### `get_updates_count(bot_token, update_id)`\n\nОсновная функция для получения и увеличения счетчика обновлений.\n\n**Параметры:**\n- `bot_token` (string) - токен Telegram бота\n- `update_id` (string) - уникальный идентификатор обновления\n\n**Возвращает:**\n- `Promise<number>` - текущее количество обновлений (от 1 до 200)\n\n**Пример:**\n```javascript\nconst count = await get_updates_count('bot123:ABC', 'update_001');\n// Возвращает число от 1 до 200\n```\n\n## Структура базы данных\n\nМодуль работает с таблицей `tg_updates` в YandexDB со следующей структурой:\n\n| Поле | Тип | Описание |\n|------|-----|----------|\n| `id` | Utf8 | Составной ключ: `{bot_token}::{update_id}` |\n| `count` | Uint8 | Количество обновлений (1-200) |\n| `last_update_on` | Datetime | Время последнего обновления |\n\n## Логирование\n\nМодуль автоматически логирует операции обновления счетчика в консоль:\n\n```\nTG UPDATES CHECKER :: SET :: COUNT :: 5 :: ON ID :: bot123:ABC::update_001\n```\n\n## Логика работы\n\n1. При вызове `get_updates_count()` модуль проверяет текущее значение счетчика в БД\n2. Если запись не существует, создается новая с `count = 1`\n3. Если запись существует, счетчик увеличивается на 1\n4. Максимальное значение счетчика ограничено 200\n5. Обновляется время последнего изменения (`last_update_on`)\n\n## Требования\n\n- Node.js >= 14.0.0\n- Доступ к YandexDB Serverless\n- Настроенная переменная окружения `ADMIN_YDB_ADDRESS`\n- Зависимость: `@dieugene/ydb-serverless`\n\n## Ограничения\n\n- Максимальное значение счетчика: 200\n- При достижении максимума счетчик остается на уровне 200\n- Требуется активное подключение к YandexDB\n\n## Лицензия\n\nISC\n\n## Автор\n\nEugene Ditkovsky\n\n## Поддержка\n\nЕсли у вас возникли вопросы или проблемы, создайте issue в [репозитории GitHub](https://github.com/Dieugene/tg-updates-checker/issues).\n","readmeFilename":"README.md","homepage":"https://github.com/Dieugene/tg-updates-checker#readme","repository":{"type":"git","url":"git+https://github.com/Dieugene/tg-updates-checker.git"},"bugs":{"url":"https://github.com/Dieugene/tg-updates-checker/issues"}}