1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"updatedAt":"2025-12-01T10:09:37.037Z","createdAt":"2025-12-01T05:41:17.010Z","id":"odr6t7aUXIvLK7WT","name":"[DIET BOT] админ-панель","active":false,"isArchived":false,"nodes":[{"parameters":{"updates":["message"],"additionalFields":{}},"id":"52e32e3a-8fe2-4562-ade4-39e2eac546b5","name":"Telegram Trigger","type":"n8n-nodes-base.telegramTrigger","typeVersion":1.1,"position":[-1040,-880],"webhookId":"telegram-webhook","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"conditions":{"options":{"caseSensitive":true,"leftValue":"","typeValidation":"strict","version":1},"conditions":[{"leftValue":"={{ $json.message.text }}","rightValue":"/admin замени_на_свой_токен","operator":{"type":"string","operation":"regex"},"id":"24222da3-3ac8-44ea-bfc9-a99eeaf72230"}],"combinator":"and"},"options":{}},"id":"42104fb7-1a41-4d48-89d5-e0522b6c58b0","name":"Ты админ?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-816,-880]},{"parameters":{"chatId":"={{ $json.message.chat.id }}","text":"❌ Доступ запрещён. Неверная команда.","additionalFields":{}},"id":"db5f2dae-0cb5-4d7d-bdf9-6579eac3ed6b","name":"Нет доступа","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[-608,-960],"webhookId":"9c6c0d0e-d6e9-4a24-ac14-7ad31d533daf","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"chatId":"={{ $json.message.chat.id }}","text":"*🍎 Админ-панель: Правильное питание и диета*\n\nВыберите действие:","additionalFields":{}},"id":"6fe629bf-c269-45a9-ac64-09bb888fd7d8","name":"Главное меню","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[-608,-800],"webhookId":"add2c247-811b-4a5e-878a-b975f301b779","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"updates":["callback_query"],"additionalFields":{}},"id":"f7617f76-51d7-4038-94a5-5adb10beb2a9","name":"Callback Trigger","type":"n8n-nodes-base.telegramTrigger","typeVersion":1.1,"position":[-1024,-48],"webhookId":"telegram-callback-webhook","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"conditions":{"options":{"caseSensitive":true},"conditions":[{"leftValue":"={{ $json.callback_query.data }}","rightValue":"^admin_|^promo|^stats|^broadcast","operator":{"type":"string","operation":"regex"}}]},"options":{}},"id":"1dd136c2-97c6-4037-9ec9-ea7ddf1fb3a9","name":"Админ callback?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-736,-48]},{"parameters":{"chatId":"={{ $json.callback_query.message.chat.id }}","text":"❌ Сессия истекла. Войдите заново: /admin токен","additionalFields":{}},"id":"c52b7b1b-ab9d-4948-a270-235680b4d67d","name":"Callback нет доступа","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[-608,-528],"webhookId":"f9540840-0302-4efd-9035-21f41b238958","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{},"id":"4d1c876c-4426-4661-b7fa-054104f4e1f3","name":"Получить статистику","type":"n8n-nodes-base.postgres","typeVersion":1.2,"position":[-800,176]},{"parameters":{"jsCode":"// Форматируем статистику\nconst [total, active, revenue] = $input.all();\nconst totalUsers = total[0].json[0].total;\nconst activeUsers = active[0].json[0].active;\nconst totalRevenue = revenue[0].json[0].revenue;\n\nconst text = `*📊 Статистика на ${new Date().toLocaleDateString('ru-RU')}*\n\n👥 Всего пользователей: *${totalUsers}*\n💎 Активных: *${activeUsers}*\n💰 Доход: *${totalRevenue} ₽*`;\n\nreturn [{\n json: {\n text,\n chatId: $json.callback_query.message.chat.id,\n messageId: $json.callback_query.message.message_id\n }\n}];"},"id":"7b84c3ea-e5ef-4b90-82a8-856816fafe15","name":"Формат статистики","type":"n8n-nodes-base.code","typeVersion":2,"position":[-192,-304]},{"parameters":{"chatId":"={{ $json.chatId }}","text":"={{ $json.text }}","additionalFields":{}},"id":"efe72899-27c3-480a-8890-366358b9810a","name":"Отправить статистику","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,-304],"webhookId":"d68178d7-3881-49f0-bdce-e0dfc3500862","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{},"id":"c62bd7be-779a-4633-aa38-5c2a6aeb8d04","name":"Получить пользователей","type":"n8n-nodes-base.postgres","typeVersion":1.2,"position":[-816,-640]},{"parameters":{"jsCode":"// Форматируем список пользователей\nconst users = $input.all()[0].json;\nconst page = $json.callback_query.data.split('_')[2];\n\nlet text = `*👥 Список пользователей (страница ${page})*\n\n`;\n\nfor (const u of users) {\n const status = u.lifetime ? '🛡️ Вечная' : (new Date(u.subscription_until) > new Date() ? `📅 До ${new Date(u.subscription_until).toLocaleDateString('ru-RU')}` : '❌ Нет');\n text += `👤 ${u.first_name || 'N/A'} (@${u.username || 'без юзернейма'})\\n` +\n `ID: \\`${u.user_id}\\` | ${status}\\n\\n`;\n}\n\nreturn [{\n json: {\n text,\n page: page,\n chatId: $json.callback_query.message.chat.id,\n messageId: $json.callback_query.message.message_id\n }\n}];"},"id":"307d58d2-e49f-4acd-bcd0-89ccb79becab","name":"Формат пользователей","type":"n8n-nodes-base.code","typeVersion":2,"position":[-192,-480]},{"parameters":{"chatId":"={{ $json.chatId }}","text":"={{ $json.text }}","additionalFields":{}},"id":"8347dcc8-0222-4618-bb55-71c36599fac9","name":"Отправить список пользователей","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,-480],"webhookId":"e3989bfd-47dd-47db-9064-299a91ae5998","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"chatId":"={{ $json.callback_query.message.chat.id }}","text":"*🎟️ Создать промокод*\n\nОтправьте в формате: /promo КОД_ПРОМО ДНИ [ИСПОЛЬЗОВАНИЙ]\nПример: /promo DIET30 30 100\n(Если использований не указано — без лимита)","additionalFields":{}},"id":"2226d9d6-d368-4f65-93af-af5cbbda41fa","name":"Запрос промокода","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,16],"webhookId":"5d1bd976-b72b-4b70-9215-d0da80a9730c","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"conditions":{"conditions":[{"leftValue":"={{ $json.message.text }}","rightValue":"^/promo ","operator":{"type":"string","operation":"regex"}}]},"options":{}},"id":"a51c8f73-77fe-4dda-8bc0-8f83855cc5d5","name":"Это промокод?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-512,304]},{"parameters":{"jsCode":"// Парсим команду промо\nconst msg = $json.message.text;\nconst parts = msg.split(' ');\n\nif (parts.length < 3) {\n return [];\n}\n\nconst code = parts[1].toUpperCase();\nconst days = parseInt(parts[2]);\nconst uses = parts[3] ? parseInt(parts[3]) : 999;\n\nreturn [{\n json: {\n code,\n days,\n uses,\n chatId: $json.message.chat.id\n }\n}];"},"id":"b4bc34a8-0efe-4af8-a113-67b2f5e760eb","name":"Парсинг промо","type":"n8n-nodes-base.code","typeVersion":2,"position":[-192,176]},{"parameters":{},"id":"bb9ec702-364c-4eb9-b74e-8b30ad844324","name":"Создать промо в БД","type":"n8n-nodes-base.postgres","typeVersion":1.2,"position":[48,320]},{"parameters":{"chatId":"={{ $json.chatId }}","text":"*✅ Промокод создан!*\n\nКод: `{{ $json.code }}`\nДней: {{ $json.days }}\nИспользований: {{ $json.uses === 999 ? 'без лимита' : $json.uses }}\n\nВернуться в меню: /admin токен","additionalFields":{}},"id":"1e865397-5249-4426-9ab3-9d412544f275","name":"Промо готов","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,320],"webhookId":"5e14e03b-9e99-4448-87e9-6367fc21e6dc","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"chatId":"={{ $json.message.chat.id }}","text":"❌ Неверный формат. Используйте /promo КОД ДНИ [USES]","additionalFields":{}},"id":"aa84eea8-37db-4607-9eda-ce2b67b59f31","name":"Ошибка промо","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[-192,496],"webhookId":"ce6276fa-ebb4-4856-ab69-33587b0f36a7","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"chatId":"={{ $json.callback_query.message.chat.id }}","text":"*📤 Рассылка*\n\nОтправьте сообщение (текст/фото/видео). Я разошлю всем (или платным).","additionalFields":{}},"id":"7ed1ef27-4b0a-4e94-886e-f5fc2ce5f1be","name":"Запрос рассылки","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,-144],"webhookId":"72aaa8e9-c11e-46e5-a9fe-4a2542a60003","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"options":{}},"id":"55e10e34-9d79-49d2-9e9f-8e0a067432a7","name":"Установить цель рассылки","type":"n8n-nodes-base.set","typeVersion":3,"position":[-192,-144]},{"parameters":{"jsCode":"const target = $json.target;\nlet query = \"SELECT user_id FROM users\";\n\nif (target === 'paid') {\n query = \"SELECT user_id FROM users WHERE subscription_until > CURRENT_TIMESTAMP OR lifetime = true\";\n}\n\nreturn [{\n json: {\n query,\n target\n }\n}];"},"id":"58b15264-5727-4e67-86f8-5208e85123dc","name":"Генерировать запрос","type":"n8n-nodes-base.code","typeVersion":2,"position":[48,496]},{"parameters":{},"id":"32479cc2-2b18-4145-918c-adaa3ff175a5","name":"Список для рассылки","type":"n8n-nodes-base.postgres","typeVersion":1.2,"position":[288,496]},{"parameters":{"jsCode":"// Упрощённая версия рассылки\nconst users = $input.all()[0].json;\nconst total = users.length;\n\nreturn [{\n json: {\n sent: total,\n total: total,\n target: $json.target,\n chatId: $json.chatId\n }\n}];"},"id":"ca939354-edf6-44e9-9585-5c93d136fbc0","name":"Выполнить рассылку","type":"n8n-nodes-base.code","typeVersion":2,"position":[512,496]},{"parameters":{"chatId":"={{ $json.chatId }}","text":"*📤 Рассылка завершена*\n\nОтправлено: {{ $json.sent }}/{{ $json.total }} пользователям\nЦель: {{ $json.target === 'paid' ? 'платным' : 'всем' }}","additionalFields":{}},"id":"a76e3fcb-a758-4e80-9853-e7f8f0ecd5f6","name":"Результат рассылки","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[736,496],"webhookId":"24255f61-1ddf-4c82-9cd9-3a088f65443d","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"chatId":"={{ $json.callback_query.message.chat.id }}","text":"*🔙 Главное меню*","additionalFields":{}},"id":"0357df3a-eb06-4969-9cd0-4442c0cbab75","name":"Назад в меню","type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[288,-656],"webhookId":"bf61f4a5-1b82-4b63-bedf-e566c1f7c81f","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram main n8n"}}},{"parameters":{"conditions":{"conditions":[{"leftValue":"={{ $json.callback_query.data }}","rightValue":"admin_main","operator":{"type":"string","operation":"equals"}}]},"options":{}},"id":"0b6128df-8675-4949-bd47-858bc3ca459a","name":"Назад в меню?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-192,-640]},{"parameters":{"conditions":{"conditions":[{"leftValue":"={{ $json.callback_query.data }}","rightValue":"promo_new","operator":{"type":"string","operation":"equals"}}]},"options":{}},"id":"d1e8af0f-ea70-4bc0-90da-f715081e9e25","name":"Новый промокод?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-192,32]},{"parameters":{"conditions":{"conditions":[{"leftValue":"={{ $json.callback_query.data }}","rightValue":"broadcast","operator":{"type":"string","operation":"contains"}}]},"options":{}},"id":"104e3ddb-cc57-491f-82c8-fc55e832ef69","name":"Рассылка?","type":"n8n-nodes-base.if","typeVersion":2,"position":[-192,320]}],"connections":{"Telegram Trigger":{"main":[[{"node":"Ты админ?","type":"main","index":0}]]},"Ты админ?":{"main":[[{"node":"Нет доступа","type":"main","index":0}],[{"node":"Главное меню","type":"main","index":0}]]},"Callback Trigger":{"main":[[{"node":"Админ callback?","type":"main","index":0}]]},"Админ callback?":{"main":[[{"node":"Callback нет доступа","type":"main","index":0}],[{"node":"Назад в меню?","type":"main","index":0},{"node":"Новый промокод?","type":"main","index":0},{"node":"Рассылка?","type":"main","index":0}]]},"Формат статистики":{"main":[[{"node":"Отправить статистику","type":"main","index":0}]]},"Формат пользователей":{"main":[[{"node":"Отправить список пользователей","type":"main","index":0}]]},"Назад в меню?":{"main":[[{"node":"Назад в меню","type":"main","index":0}]]},"Новый промокод?":{"main":[[{"node":"Запрос промокода","type":"main","index":0}]]},"Рассылка?":{"main":[[{"node":"Установить цель рассылки","type":"main","index":0}]]},"Установить цель рассылки":{"main":[[{"node":"Запрос рассылки","type":"main","index":0}]]},"Это промокод?":{"main":[[{"node":"Парсинг промо","type":"main","index":0}],[{"node":"Ошибка промо","type":"main","index":0}]]},"Выполнить рассылку":{"main":[[{"node":"Результат рассылки","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":null,"meta":{"templateCredsSetupCompleted":true},"pinData":{},"versionId":"e5f73d48-c1b8-4f7e-a8f0-b755c2176ad2","activeVersionId":null,"triggerCount":0,"shared":[{"updatedAt":"2025-12-01T05:41:17.010Z","createdAt":"2025-12-01T05:41:17.010Z","role":"workflow:owner","workflowId":"odr6t7aUXIvLK7WT","projectId":"sYuiFAb87pAir6jV"}],"activeVersion":null,"tags":[]} |