Files
n8n/backups/2025-12-27/[DIET BOT] админ-панель.json

1 line
14 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"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":[]}