{"_id":"@dieugene/ya-cloud-calls-router","_rev":"8-d925168df81803c0e2f8370993f03e3a","name":"@dieugene/ya-cloud-calls-router","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.0","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.0","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"70cad560c3db32574a683cb5c54bfedfe8275f0f","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.0.tgz","fileCount":3,"integrity":"sha512-oFTooUbV/e/HST/4b8Yx0g0DWfwm3mseHSKQYjO/iduRros/KAS2LRTb2oP6iR13yrGA9j3Wyv8x/gK7g/PyuQ==","signatures":[{"sig":"MEUCIEGtb92QUV7PFMBK1vm4ptfVAF4Ey+cbusVGZcKvU2qSAiEA7kquNuxpeROyLCgDdEiA+i7NQ6kFnA5Xkwt2ok/kvoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21893},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"1b0aab3faf652cd50166dbeee3664035e1f426c2","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","actor":{"name":"di.eugene","type":"user","email":"ditkovsky.eugene@gmail.com"},"email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.2","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.0_1750582801872_0.12192608894392487","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.1","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.1","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"8c6649cb97684eda8eb96dd32f5b5aaa5af43b59","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.1.tgz","fileCount":3,"integrity":"sha512-1UTqO8ElO/k1tPE0DaCvvqr/IaUZ/bmXBqH4TmufUs0ML6r0PUCoQjbRzt+WnudhmdCWMm9x+9AOklqB/02chg==","signatures":[{"sig":"MEQCIBKJRBgAlwqqIUFRRpDpGkfFvBeE9Hlg9ET/UpAxkYpbAiBKcMY4z4+/WEplov+c+uzlo67EPAQtSI5b30In3j1gqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21944},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"b8391122a4b4a47e287d7da914a5aff51fc73c36","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","actor":{"name":"di.eugene","type":"user","email":"ditkovsky.eugene@gmail.com"},"email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.2","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.19.2","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.1_1750585254252_0.16473856516778151","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.2","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.2","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"865028858ff0892d11a0c4d4d91d1a9c28a3ec30","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.2.tgz","fileCount":3,"integrity":"sha512-evcxXb1u6Rbkfsx8OA3lw0SVB1vDYG/OW+2LgjJT2HuVZbuHng8sP5ODdujXS6gdLLmGwQSacgzHL346cBm+BQ==","signatures":[{"sig":"MEYCIQDG5BPyof4siHE6tY/8akq/HBSsSxv600dIwPl1FP3BwAIhAKI+vgXEsZ2FUk7x7rw1P39P34NphrHkR3lNc3J0ftxt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22265},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"4645b35b93e595aeabeb06f4a870c92a65b097d5","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","actor":{"name":"di.eugene","type":"user","email":"ditkovsky.eugene@gmail.com"},"email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.1","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.2_1750693316563_0.04160977064864291","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.3","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.3","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"153c3f146caf9fed27f0a4f99e915aa83f5681c5","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.3.tgz","fileCount":3,"integrity":"sha512-u6Ih6sdC5eZDUo0rC1N3OzjlkCGJp4cZtrEYzt+gPTiQgq0AZ/mB+Nju0EbrDRcdVqwjdyu8vfhN57O0GsT6ow==","signatures":[{"sig":"MEQCIC903TE0AJ5s8EmYiExWo7nYfkHUUI/GxLg4JbzT1OH4AiAPr+Kxo6LWgjuTwc79lSqn8FghHXuUc9jRvtrKJB9cpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22425},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"930a09acd06dbfc90223107503d9494abc933fc2","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.1","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.3_1752315072458_0.12272881136096037","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.4","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.4","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"db28be7a31a886774a8dc5357a74de6cabfbd592","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.4.tgz","fileCount":3,"integrity":"sha512-XQLNn+aTl7DMBE2j8kiwekv8p+MvIn0gF/on9NQR29b40fsiI5ZQ66y4rom9uaO272hVxdESkr6Lf6vk/V2pEg==","signatures":[{"sig":"MEQCIBvDrLo4lDtArL/bUJ6VL47BNFvwS9Pha3+o1vI2H8UFAiB1ILZeDtuBp8pEC+kHM7Ov5tVdviG49T4UYkdXXT8HJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22603},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"1f0c02babdd63a4318f78d1361b82c3ab3f4496d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.1","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.4_1753299165814_0.7659468198680017","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.5","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.5","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"125899ecb915b87a019528a4f1e96f648f9f5551","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.5.tgz","fileCount":3,"integrity":"sha512-wGxMtS1yFzpvfoWRdU/w/TQpw/vgAVUUP+rSSGc8nvOfvJTVIjhF1eIcInEoUQG4RrzzbpJIFG3It/7H4tR1mw==","signatures":[{"sig":"MEUCIDIyBhY1ljDiyiItfO13Dwgrd7R7ME4HHmFevf7ynPaAAiEAo/oBWvKnFcHUV2tOfUsGfwGg0cefpoIzXUJ5mnUojpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22724},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"d8c8401c03e7d8d8fa4c4f40c72903c3da539096","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.1","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.5_1754129517254_0.08377398524711355","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.6","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","_id":"@dieugene/ya-cloud-calls-router@1.0.6","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"dist":{"shasum":"b6079600e2c7b030371ff98e05fe2cc06bebca31","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.6.tgz","fileCount":3,"integrity":"sha512-yYnKD7CxEsPP1pep6RXIYGtb6lHVX76J/VSQEnglz0KaS0vvi/bsoq9yIuNqUIdRS82+YDWJWWh7cYy4WvcDNw==","signatures":[{"sig":"MEUCIQDvC2yBX+qTTI5i8X6dr0q88Vw75peZdhCrIkgpF5W+tAIgLfSdihWDtOtp4ZrbzjzdpG3pzlR5eXzKPVnGkkmCF/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22839},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"70c13105005c323367ca5c2dcf38a38c4e59ca27","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"repository":{"url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git","type":"git"},"_npmVersion":"10.8.1","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@dieugene/utils":"^1.14.18","@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/ya-cloud-calls-router_1.0.6_1754216311554_0.6114220058680411","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@dieugene/ya-cloud-calls-router","version":"1.0.7","description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","main":"index.js","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"author":{"name":"Eugene Ditkovsky"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git"},"engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"@dieugene/logger":"^1.0.3","@dieugene/queuer":"^2.0.0","@dieugene/tg-updates-checker":"^2.0.0","@dieugene/utils":"^1.14.18"},"devDependencies":{},"peerDependencies":{},"_id":"@dieugene/ya-cloud-calls-router@1.0.7","gitHead":"27dd195c41c7e3df173e36b1f5b85db1758a2888","bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-r+00Of1ITePdPZyguAuJvYQ5meW7sinlNRWNg1yjNSwACphQOvTt2KQSW3X/AacEcCNqZDk4fr8z9rA6r52ukQ==","shasum":"9c6a8fde97415bff4706b07b55b0668fa10c3def","tarball":"https://registry.npmjs.org/@dieugene/ya-cloud-calls-router/-/ya-cloud-calls-router-1.0.7.tgz","fileCount":3,"unpackedSize":22845,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG2eJLwQbiOeT2PBfpkkELB2zoS6IGlbvDuvlE1qM1xwAiBHIrBDuwtxZpdmSElkAK44c2OQK1778pJ0GMu7AUPJLg=="}]},"_npmUser":{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"},"directories":{},"maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ya-cloud-calls-router_1.0.7_1754217123241_0.5763116147722995"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-22T09:00:01.755Z","modified":"2025-08-03T10:32:03.602Z","1.0.0":"2025-06-22T09:00:02.055Z","1.0.1":"2025-06-22T09:40:54.420Z","1.0.2":"2025-06-23T15:41:56.713Z","1.0.3":"2025-07-12T10:11:12.708Z","1.0.4":"2025-07-23T19:32:46.005Z","1.0.5":"2025-08-02T10:11:57.444Z","1.0.6":"2025-08-03T10:18:31.747Z","1.0.7":"2025-08-03T10:32:03.413Z"},"bugs":{"url":"https://github.com/niviron-ai/ya-cloud-calls-router/issues"},"author":{"name":"Eugene Ditkovsky"},"license":"ISC","homepage":"https://github.com/niviron-ai/ya-cloud-calls-router#readme","keywords":["yandex-cloud","serverless","telegram-bot","webhook","message-queue","event-router","dispatcher","cloud-functions"],"repository":{"type":"git","url":"git+https://github.com/niviron-ai/ya-cloud-calls-router.git"},"description":"Центральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами","maintainers":[{"name":"di.eugene","email":"ditkovsky.eugene@gmail.com"}],"readme":"# Ya Cloud Calls Router\n\nЦентральный диспетчер вызовов для Yandex Cloud функций с поддержкой маршрутизации событий, обработки веб-хуков, очередей сообщений и управления Telegram ботами.\n\n## Описание\n\n`@dieugene/ya-cloud-calls-router` - это универсальный роутер для облачных функций Yandex Cloud, который обеспечивает централизованную обработку различных типов событий:\n\n- 📡 **Внешние JSON запросы** - веб-хуки, API вызовы\n- ⏰ **Таймерные события** - запланированные задачи\n- 📨 **Сообщения из очередей** - асинхронная обработка\n- 🤖 **Telegram боты** - обработка обновлений и веб-хуков\n- 🧪 **Тестовые вызовы** - отладка и тестирование\n\n## Установка\n\n```bash\nnpm install @dieugene/ya-cloud-calls-router\n```\n\n## Быстрый старт\n\n```javascript\nconst router = require('@dieugene/ya-cloud-calls-router');\n\n// Инициализация с обработчиком бота\nconst botHandler = {\n    async process(input, botToken) {\n        // Логика обработки бота\n        return { success: true };\n    },\n    \n    async process_webhook(input, botToken) {\n        // Логика обработки веб-хука\n        return { success: true };\n    },\n    \n    // Регистрация обработчиков диспетчера\n    reg_dispatcher_handlers({ Timers, Queues, Webs, Admins }) {\n        // Регистрация обработчиков таймеров\n        Timers.reg(async (input) => {\n            console.log('Timer event:', input);\n            return true;\n        });\n        \n        // Регистрация обработчиков очередей\n        Queues.reg(async (message) => {\n            console.log('Queue message:', message);\n            return true;\n        });\n        \n        // Регистрация веб-обработчиков\n        Webs.reg(async (input) => {\n            console.log('Web request:', input);\n            return true;\n        });\n        \n        // Регистрация админ-обработчиков\n        Admins.reg.json(async (input) => {\n            console.log('Admin JSON:', input);\n            return { result: 'processed' };\n        });\n    }\n};\n\n// Инициализация роутера\nrouter.init(botHandler);\n\n// Экспорт обработчика для Yandex Cloud\nmodule.exports.handler = router.handler;\n```\n\n## API\n\n### Основные методы\n\n#### `router.init(handler)`\nИнициализирует роутер с обработчиком бота.\n\n**Параметры:**\n- `handler` - объект с методами обработки\n\n#### `router.handler(event, context)`\nОсновная функция-обработчик для Yandex Cloud Function.\n\n**Возвращает:** Promise с результатом обработки\n\n### Структура обработчика\n\nОбработчик должен реализовывать следующие методы:\n\n```javascript\nconst handler = {\n    // Обязательный метод обработки основных событий\n    async process(input, botToken) {\n        // input: { action, data: { string, object } }\n        // botToken: string (при работе с ботами)\n        return result;\n    },\n    \n    // Опциональный метод обработки веб-хуков\n    async process_webhook(input, botToken) {\n        return result;\n    },\n    \n    // Опциональная регистрация диспетчеров\n    reg_dispatcher_handlers({ Timers, Queues, Webs, Admins }) {\n        // Регистрация обработчиков\n    }\n};\n```\n\n### Диспетчеры\n\n#### Timers\nОбработка событий по таймеру.\n\n```javascript\nTimers.reg(async (input) => {\n    // Обработка таймерного события\n    return true; // или false\n});\n```\n\n#### Queues\nОбработка сообщений из очередей.\n\n```javascript\nQueues.reg(async (message) => {\n    // message: { domain, body, queue_url }\n    return true; // или false\n});\n```\n\n#### Webs\nОбработка веб-запросов и хуков.\n\n```javascript\nWebs.reg(async (input) => {\n    // Обработка веб-запроса\n    return true; // или false\n});\n```\n\n#### Admins\nОбработка тестовых/админских вызовов.\n\n```javascript\n// Пустые тестовые вызовы\nAdmins.reg.empty(async (input) => {\n    return { result: 'empty processed' };\n});\n\n// Текстовые тестовые вызовы\nAdmins.reg.text(async (input) => {\n    return { result: 'text processed' };\n});\n\n// JSON тестовые вызовы\nAdmins.reg.json(async (input) => {\n    return { result: 'json processed' };\n});\n```\n\n## Переменные окружения\n\n- `BOT_NAME` - имя бота (по умолчанию: 'NO_NAME')\n- `TELEGRAM_BOT_TOKEN` - токен Telegram бота\n- `QUEUE_URL` - URL очереди сообщений\n\n## Типы событий\n\nРоутер автоматически определяет тип события на основе входящих данных:\n\n- **external.json** - внешние JSON запросы\n- **timer.empty** - пустые события таймера\n- **timer.text** - текстовые события таймера\n- **queue** - сообщения из очереди\n- **test.empty** - пустые тестовые события\n- **test.text** - текстовые тестовые события\n- **test.json** - JSON тестовые события\n\n## Зависимости\n\n- `@dieugene/utils` - утилиты для работы с облаком\n- `@dieugene/logger` - система логирования\n- `@dieugene/queuer` - работа с очередями сообщений\n- `@dieugene/tg-updates-checker` - проверка обновлений Telegram\n\n## Примеры использования\n\n### Простой бот-обработчик\n\n```javascript\nconst router = require('@dieugene/ya-cloud-calls-router');\n\nconst simpleBot = {\n    async process(input) {\n        const update = input.data.object;\n        \n        if (update.message) {\n            console.log('Получено сообщение:', update.message.text);\n            // Логика обработки сообщения\n        }\n        \n        return { success: true };\n    }\n};\n\nrouter.init(simpleBot);\nmodule.exports.handler = router.handler;\n```\n\n### Расширенный обработчик с диспетчерами\n\n```javascript\nconst router = require('@dieugene/ya-cloud-calls-router');\n\nconst advancedBot = {\n    async process(input, botToken) {\n        // Основная логика бота\n        return await this.handleBotUpdate(input.data.object);\n    },\n    \n    async handleBotUpdate(update) {\n        // Детальная обработка обновления\n        return { processed: true };\n    },\n    \n    reg_dispatcher_handlers({ Timers, Queues, Webs, Admins }) {\n        // Обработка регулярных задач\n        Timers.reg(async (input) => {\n            console.log('Выполнение планового задания');\n            await this.performScheduledTask();\n            return true;\n        });\n        \n        // Обработка внешних веб-хуков\n        Webs.reg(async (input) => {\n            const data = input.data.object;\n            if (data.type === 'payment_notification') {\n                await this.handlePayment(data);\n                return true;\n            }\n            return false;\n        });\n        \n        // Админские команды\n        Admins.reg.json(async (input) => {\n            const command = input.data.object.command;\n            switch (command) {\n                case 'status':\n                    return { status: 'running', uptime: process.uptime() };\n                case 'restart':\n                    return { result: 'restarting...' };\n                default:\n                    return { error: 'unknown command' };\n            }\n        });\n    }\n};\n\nrouter.init(advancedBot);\nmodule.exports.handler = router.handler;\n```\n\n## Лицензия\n\nISC\n\n## Автор\n\nEugene Ditkovsky\n","readmeFilename":"README.md"}