natureco-cli 5.19.0 → 5.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/package.json +1 -1
- package/skills/a-b-testing/SKILL.md +34 -0
- package/skills/accessibility-audit/SKILL.md +34 -0
- package/skills/agent-memory/SKILL.md +34 -0
- package/skills/agent-orchestration/SKILL.md +34 -0
- package/skills/analytics-setup/SKILL.md +34 -0
- package/skills/api-design/SKILL.md +34 -0
- package/skills/api-versioning/SKILL.md +34 -0
- package/skills/audio-transcription/SKILL.md +34 -0
- package/skills/authentication-patterns/SKILL.md +34 -0
- package/skills/authorization-rbac/SKILL.md +34 -0
- package/skills/backup-strategy/SKILL.md +34 -0
- package/skills/bash-scripting/SKILL.md +34 -0
- package/skills/batch-api-calls/SKILL.md +34 -0
- package/skills/batch-processing/SKILL.md +34 -0
- package/skills/bulk-file-operations/SKILL.md +34 -0
- package/skills/cache-responses/SKILL.md +34 -0
- package/skills/caching-strategy/SKILL.md +34 -0
- package/skills/calendar-optimization/SKILL.md +34 -0
- package/skills/changelog-generation/SKILL.md +34 -0
- package/skills/chat-bot-design/SKILL.md +34 -0
- package/skills/chunking-strategy/SKILL.md +34 -0
- package/skills/ci-cd-pipeline/SKILL.md +34 -0
- package/skills/classification-pipeline/SKILL.md +34 -0
- package/skills/clipboard-master/SKILL.md +34 -0
- package/skills/code-explanation/SKILL.md +34 -0
- package/skills/code-generation/SKILL.md +34 -0
- package/skills/code-migration/SKILL.md +34 -0
- package/skills/code-review-checklist/SKILL.md +34 -0
- package/skills/contact-management/SKILL.md +34 -0
- package/skills/content-generation/SKILL.md +34 -0
- package/skills/context-pruning/SKILL.md +34 -0
- package/skills/context-window-management/SKILL.md +34 -0
- package/skills/continuous-improvement/SKILL.md +34 -0
- package/skills/cron-scheduling/SKILL.md +34 -0
- package/skills/cross-platform-compat/SKILL.md +34 -0
- package/skills/csv-processing/SKILL.md +34 -0
- package/skills/daily-journal/SKILL.md +34 -0
- package/skills/data-analysis/SKILL.md +34 -0
- package/skills/data-backup/SKILL.md +34 -0
- package/skills/data-cleaning/SKILL.md +34 -0
- package/skills/data-extraction/SKILL.md +34 -0
- package/skills/data-validation/SKILL.md +34 -0
- package/skills/database-migrations/SKILL.md +34 -0
- package/skills/database-schema-design/SKILL.md +34 -0
- package/skills/decision-matrix/SKILL.md +34 -0
- package/skills/dependency-management/SKILL.md +34 -0
- package/skills/dev-environment-setup/SKILL.md +34 -0
- package/skills/distraction-blocker/SKILL.md +34 -0
- package/skills/docker-optimization/SKILL.md +34 -0
- package/skills/document-template/SKILL.md +34 -0
- package/skills/documentation-gen/SKILL.md +34 -0
- package/skills/efficient-formatting/SKILL.md +34 -0
- package/skills/email-management/SKILL.md +34 -0
- package/skills/email-service/SKILL.md +34 -0
- package/skills/embedding-generation/SKILL.md +34 -0
- package/skills/entity-extraction/SKILL.md +34 -0
- package/skills/environment-config/SKILL.md +34 -0
- package/skills/error-handling/SKILL.md +34 -0
- package/skills/estimation-techniques/SKILL.md +34 -0
- package/skills/event-driven-architecture/SKILL.md +34 -0
- package/skills/excel-automation/SKILL.md +34 -0
- package/skills/execution-monitoring/SKILL.md +34 -0
- package/skills/expense-tracking/SKILL.md +34 -0
- package/skills/feature-engineering/SKILL.md +34 -0
- package/skills/feature-flags/SKILL.md +34 -0
- package/skills/file-conversion/SKILL.md +34 -0
- package/skills/file-upload-handling/SKILL.md +34 -0
- package/skills/fine-tuning-prep/SKILL.md +34 -0
- package/skills/focus-mode/SKILL.md +34 -0
- package/skills/form-validation/SKILL.md +34 -0
- package/skills/function-calling/SKILL.md +34 -0
- package/skills/git-workflow/SKILL.md +34 -0
- package/skills/goal-setting/SKILL.md +34 -0
- package/skills/graphql-design/SKILL.md +34 -0
- package/skills/habit-tracker/SKILL.md +34 -0
- package/skills/hallucination-detection/SKILL.md +34 -0
- package/skills/image-processing/SKILL.md +34 -0
- package/skills/json-transformation/SKILL.md +34 -0
- package/skills/keyboard-shortcuts/SKILL.md +34 -0
- package/skills/knowledge-base/SKILL.md +34 -0
- package/skills/knowledge-graph/SKILL.md +34 -0
- package/skills/kubernetes-deployment/SKILL.md +34 -0
- package/skills/language-translation/SKILL.md +34 -0
- package/skills/llm-chaining/SKILL.md +34 -0
- package/skills/localization-i18n/SKILL.md +34 -0
- package/skills/logging-best-practices/SKILL.md +34 -0
- package/skills/machine-learning-pipeline/SKILL.md +34 -0
- package/skills/meeting-notes/SKILL.md +34 -0
- package/skills/meeting-scheduler/SKILL.md +34 -0
- package/skills/message-queues/SKILL.md +34 -0
- package/skills/message-summarization/SKILL.md +34 -0
- package/skills/microservices-architecture/SKILL.md +34 -0
- package/skills/milestone-tracking/SKILL.md +34 -0
- package/skills/model-deployment/SKILL.md +34 -0
- package/skills/model-evaluation/SKILL.md +34 -0
- package/skills/monitoring-setup/SKILL.md +34 -0
- package/skills/monorepo-setup/SKILL.md +34 -0
- package/skills/multi-agent-systems/SKILL.md +34 -0
- package/skills/network-troubleshooting/SKILL.md +34 -0
- package/skills/note-organization/SKILL.md +34 -0
- package/skills/package-publishing/SKILL.md +34 -0
- package/skills/password-generator/SKILL.md +34 -0
- package/skills/pdf-processing/SKILL.md +34 -0
- package/skills/performance-optimization/SKILL.md +34 -0
- package/skills/pomodoro-timer/SKILL.md +34 -0
- package/skills/powershell-automation/SKILL.md +34 -0
- package/skills/priority-filtering/SKILL.md +34 -0
- package/skills/project-tracking/SKILL.md +34 -0
- package/skills/prompt-compression/SKILL.md +34 -0
- package/skills/prompt-engineering/SKILL.md +34 -0
- package/skills/push-notifications/SKILL.md +34 -0
- package/skills/rag-implementation/SKILL.md +34 -0
- package/skills/rate-limiting/SKILL.md +34 -0
- package/skills/real-time-communication/SKILL.md +34 -0
- package/skills/refactoring-strategy/SKILL.md +34 -0
- package/skills/regex-mastery/SKILL.md +34 -0
- package/skills/report-generation/SKILL.md +34 -0
- package/skills/research-compiler/SKILL.md +34 -0
- package/skills/responsive-design/SKILL.md +34 -0
- package/skills/rest-api-patterns/SKILL.md +34 -0
- package/skills/retrospectives/SKILL.md +34 -0
- package/skills/risk-assessment/SKILL.md +34 -0
- package/skills/roadmap-creation/SKILL.md +34 -0
- package/skills/search-implementation/SKILL.md +34 -0
- package/skills/secrets-management/SKILL.md +34 -0
- package/skills/security-audit/SKILL.md +34 -0
- package/skills/selective-memory/SKILL.md +34 -0
- package/skills/semantic-search/SKILL.md +34 -0
- package/skills/semantic-versioning/SKILL.md +34 -0
- package/skills/sentiment-analysis/SKILL.md +34 -0
- package/skills/seo-optimization/SKILL.md +34 -0
- package/skills/snippet-manager/SKILL.md +34 -0
- package/skills/sprint-planning/SKILL.md +34 -0
- package/skills/sql-query-optimization/SKILL.md +34 -0
- package/skills/stakeholder-communication/SKILL.md +34 -0
- package/skills/state-management/SKILL.md +34 -0
- package/skills/statistical-analysis/SKILL.md +34 -0
- package/skills/streaming-responses/SKILL.md +34 -0
- package/skills/structured-output/SKILL.md +34 -0
- package/skills/summarization-techniques/SKILL.md +34 -0
- package/skills/system-diagnostics/SKILL.md +34 -0
- package/skills/task-decomposition/SKILL.md +34 -0
- package/skills/task-prioritization/SKILL.md +34 -0
- package/skills/template-library/SKILL.md +34 -0
- package/skills/test-generation/SKILL.md +34 -0
- package/skills/testing-strategy/SKILL.md +34 -0
- package/skills/text-expansion/SKILL.md +34 -0
- package/skills/time-blocking/SKILL.md +34 -0
- package/skills/token-budgeting/SKILL.md +34 -0
- package/skills/token-optimization/SKILL.md +34 -0
- package/skills/tool-calling-patterns/SKILL.md +34 -0
- package/skills/vector-database-setup/SKILL.md +34 -0
- package/skills/video-editing/SKILL.md +34 -0
- package/skills/visualization-creation/SKILL.md +34 -0
- package/skills/web-scraping/SKILL.md +34 -0
- package/skills/webhook-handling/SKILL.md +34 -0
- package/skills/weekly-review/SKILL.md +34 -0
- package/skills/workflow-automation/SKILL.md +34 -0
- package/src/commands/code_v5.js +377 -73
- package/src/commands/help.js +3 -1
- package/src/commands/naturehub.js +105 -55
- package/src/commands/repl.js +506 -87
- package/src/providers/model/anthropic.js +84 -0
- package/src/providers/model/gemini.js +49 -0
- package/src/providers/model/minimax.js +48 -0
- package/src/providers/model/ollama.js +42 -0
- package/src/providers/model/openai.js +49 -0
- package/src/providers/search/duckduckgo.js +45 -0
- package/src/providers/search/exa.js +52 -0
- package/src/providers/search/searxng.js +51 -0
- package/src/providers/search/tavily.js +47 -0
- package/src/tools/model_provider.js +71 -0
- package/src/tools/parallel_search.js +40 -49
- package/src/tools/search_provider.js +79 -0
- package/src/tools/web_search.js +42 -62
- package/src/tools/workflow.js +27 -10
- package/src/utils/cron.js +82 -126
- package/src/utils/effort-levels.js +42 -0
- package/src/utils/fallback-chain.js +72 -0
- package/src/utils/file-history.js +78 -0
- package/src/utils/model-provider.js +113 -0
- package/src/utils/permissions.js +147 -0
- package/src/utils/plan-mode.js +164 -0
- package/src/utils/provider-detect.js +7 -32
- package/src/utils/sandbox.js +60 -0
- package/src/utils/search-provider.js +62 -0
- package/src/utils/session-search.js +66 -0
- package/src/utils/structured-output.js +20 -0
- package/src/utils/system-prompt.js +28 -2
- package/src/utils/tasks.js +132 -0
- package/src/utils/tool-hooks.js +154 -0
- package/src/utils/tools.js +16 -0
- package/src/utils/ultra-review.js +59 -0
- package/src/utils/worktree.js +192 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* natureco naturehub —
|
|
2
|
+
* natureco naturehub — NatureCo Bot API iletişimi
|
|
3
3
|
*
|
|
4
|
-
* natureco.me
|
|
4
|
+
* natureco.me/api/v1/bots endpoint'lerini kullanır.
|
|
5
5
|
* Kullanım:
|
|
6
|
-
* natureco naturehub post <text>
|
|
7
|
-
* natureco naturehub list
|
|
8
|
-
* natureco naturehub
|
|
9
|
-
* natureco naturehub config
|
|
6
|
+
* natureco naturehub post <text> Bota mesaj gönder
|
|
7
|
+
* natureco naturehub list Botları listele
|
|
8
|
+
* natureco naturehub info [bot_id] Bot detayı
|
|
9
|
+
* natureco naturehub config Ayarları göster
|
|
10
10
|
*
|
|
11
|
-
* API
|
|
11
|
+
* API: https://natureco.me/api/v1/bots
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
const chalk = require('chalk');
|
|
@@ -17,20 +17,35 @@ const { URL } = require('url');
|
|
|
17
17
|
const audit = require('../utils/audit');
|
|
18
18
|
|
|
19
19
|
const API_BASE = 'https://api.natureco.me';
|
|
20
|
+
const API_PREFIX = '/api/v1';
|
|
20
21
|
const CONFIG_KEY = 'naturehub';
|
|
21
22
|
|
|
23
|
+
function getApiKey() {
|
|
24
|
+
try {
|
|
25
|
+
const { getConfig } = require('../utils/config');
|
|
26
|
+
const cfg = getConfig();
|
|
27
|
+
return cfg?.apiKey || null;
|
|
28
|
+
} catch { return null; }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function getBotId() {
|
|
32
|
+
try {
|
|
33
|
+
const { getConfig } = require('../utils/config');
|
|
34
|
+
const cfg = getConfig();
|
|
35
|
+
return cfg?.naturecoBotId || null;
|
|
36
|
+
} catch { return null; }
|
|
37
|
+
}
|
|
38
|
+
|
|
22
39
|
async function apiCall(path, options = {}) {
|
|
23
|
-
// Geliştirme aşamasında placeholder — gerçek API hazır olunca kullanılacak
|
|
24
|
-
// Şimdilik simüle edelim ve kullanıcıya rehberlik edelim
|
|
25
40
|
return new Promise((resolve, reject) => {
|
|
26
|
-
const url = new URL(path, API_BASE);
|
|
41
|
+
const url = new URL(API_PREFIX + path, API_BASE);
|
|
27
42
|
const reqOptions = {
|
|
28
43
|
hostname: url.hostname,
|
|
29
44
|
path: url.pathname + url.search,
|
|
30
45
|
method: options.method || 'GET',
|
|
31
46
|
headers: {
|
|
32
47
|
'Content-Type': 'application/json',
|
|
33
|
-
'User-Agent': 'natureco-cli/
|
|
48
|
+
'User-Agent': 'natureco-cli/5.20',
|
|
34
49
|
...(options.token ? { 'Authorization': `Bearer ${options.token}` } : {}),
|
|
35
50
|
...options.headers,
|
|
36
51
|
},
|
|
@@ -54,51 +69,43 @@ async function apiCall(path, options = {}) {
|
|
|
54
69
|
});
|
|
55
70
|
}
|
|
56
71
|
|
|
57
|
-
async function getToken() {
|
|
58
|
-
const { getConfig } = require('../utils/config');
|
|
59
|
-
const cfg = getConfig();
|
|
60
|
-
return cfg?.naturehubToken || cfg?.apiKey || null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
72
|
async function cmdPost(args) {
|
|
64
73
|
const text = args.join(' ').trim();
|
|
65
74
|
if (!text) {
|
|
66
75
|
console.log(chalk.red('\n Kullanım: natureco naturehub post "<mesaj>"\n'));
|
|
67
76
|
return;
|
|
68
77
|
}
|
|
69
|
-
if (text.length > 500) {
|
|
70
|
-
console.log(chalk.yellow('\n ⚠️ Mesaj 500 karakteri aşıyor. Kısaltılacak.\n'));
|
|
71
|
-
}
|
|
72
|
-
const shortText = text.slice(0, 500);
|
|
73
|
-
|
|
74
|
-
console.log(chalk.cyan('\n 📤 Nature Hub\'a gönderiliyor...\n'));
|
|
75
|
-
console.log(chalk.gray(` "${shortText}"\n`));
|
|
76
78
|
|
|
77
|
-
const token =
|
|
79
|
+
const token = getApiKey();
|
|
78
80
|
if (!token) {
|
|
79
|
-
console.log(chalk.yellow(' ⚠️
|
|
80
|
-
|
|
81
|
-
console.log(chalk.gray(' Veya genel API key: ') + chalk.cyan('natureco login'));
|
|
82
|
-
console.log('');
|
|
83
|
-
console.log(chalk.gray(' Şimdilik yerel olarak kaydedildi.\n'));
|
|
84
|
-
saveLocal(shortText);
|
|
85
|
-
audit.log(audit.ACTIONS.INFO, { source: 'naturehub', action: 'post', local: true });
|
|
81
|
+
console.log(chalk.yellow('\n ⚠️ API key tanımlı değil. Önce `natureco login` ile giriş yapın.\n'));
|
|
82
|
+
saveLocal(text);
|
|
86
83
|
return;
|
|
87
84
|
}
|
|
88
85
|
|
|
86
|
+
const botId = getBotId();
|
|
87
|
+
if (!botId) {
|
|
88
|
+
console.log(chalk.yellow('\n ⚠️ Bot ID tanımlı değil. `natureco naturehub list` ile botlarınızı görün.\n'));
|
|
89
|
+
console.log(chalk.gray(' Ayarlamak için: natureco config set naturecoBotId <bot_id>\n'));
|
|
90
|
+
saveLocal(text);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
console.log(chalk.cyan(`\n 📤 Bota mesaj gönderiliyor (${botId})...\n`));
|
|
95
|
+
console.log(chalk.gray(` "${text.slice(0, 200)}"\n`));
|
|
96
|
+
|
|
89
97
|
try {
|
|
90
|
-
const result = await apiCall(
|
|
98
|
+
const result = await apiCall(`/bots/${botId}/messages`, {
|
|
91
99
|
method: 'POST',
|
|
92
100
|
token,
|
|
93
|
-
body: {
|
|
101
|
+
body: { message: text, user_id: 'cli' },
|
|
94
102
|
});
|
|
95
103
|
console.log(chalk.green(' ✓ Gönderildi!\n'));
|
|
96
|
-
if (result.
|
|
97
|
-
audit.log(audit.ACTIONS.INFO, { source: 'naturehub', action: 'post',
|
|
104
|
+
if (result.reply) console.log(chalk.cyan(` 💬 Bot: ${result.reply}\n`));
|
|
105
|
+
audit.log(audit.ACTIONS.INFO, { source: 'naturehub', action: 'post', botId });
|
|
98
106
|
} catch (e) {
|
|
99
|
-
console.log(chalk.
|
|
100
|
-
|
|
101
|
-
saveLocal(shortText);
|
|
107
|
+
console.log(chalk.red(` ✗ Hata: ${e.message}\n`));
|
|
108
|
+
saveLocal(text);
|
|
102
109
|
}
|
|
103
110
|
}
|
|
104
111
|
|
|
@@ -114,24 +121,67 @@ function saveLocal(text) {
|
|
|
114
121
|
}
|
|
115
122
|
|
|
116
123
|
async function cmdList() {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
124
|
+
const token = getApiKey();
|
|
125
|
+
if (!token) {
|
|
126
|
+
console.log(chalk.yellow('\n ⚠️ API key tanımlı değil.\n'));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
console.log(chalk.cyan('\n 🤖 Botlarınız\n'));
|
|
131
|
+
|
|
132
|
+
try {
|
|
133
|
+
const result = await apiCall('/bots', { method: 'GET', token });
|
|
134
|
+
const bots = Array.isArray(result) ? result : (result.bots || result.data || []);
|
|
135
|
+
if (bots.length === 0) {
|
|
136
|
+
console.log(chalk.gray(' Henüz botunuz yok.\n'));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
for (const b of bots) {
|
|
140
|
+
console.log(` ${chalk.cyan('●')} ${b.name || b.id} ${chalk.gray(`(${b.id})`)}`);
|
|
141
|
+
if (b.description) console.log(` ${chalk.gray(b.description)}`);
|
|
142
|
+
console.log('');
|
|
143
|
+
}
|
|
144
|
+
console.log(chalk.gray(' Bot ID ayarlamak için: natureco config set naturecoBotId <id>\n'));
|
|
145
|
+
} catch (e) {
|
|
146
|
+
console.log(chalk.red(` ✗ Hata: ${e.message}\n`));
|
|
147
|
+
}
|
|
121
148
|
}
|
|
122
149
|
|
|
123
|
-
async function
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
150
|
+
async function cmdInfo(botId) {
|
|
151
|
+
const token = getApiKey();
|
|
152
|
+
if (!token) {
|
|
153
|
+
console.log(chalk.yellow('\n ⚠️ API key tanımlı değil.\n'));
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const id = botId || getBotId();
|
|
158
|
+
if (!id) {
|
|
159
|
+
console.log(chalk.yellow('\n Bot ID gerekli: natureco naturehub info <bot_id>\n'));
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
console.log(chalk.cyan(`\n 🤖 Bot: ${id}\n`));
|
|
164
|
+
try {
|
|
165
|
+
const result = await apiCall(`/bots/${id}`, { method: 'GET', token });
|
|
166
|
+
console.log(` ${chalk.bold('ID:')} ${result.id}`);
|
|
167
|
+
console.log(` ${chalk.bold('İsim:')} ${result.name || '-'}`);
|
|
168
|
+
console.log(` ${chalk.bold('Açıklama:')} ${result.description || '-'}`);
|
|
169
|
+
console.log(` ${chalk.bold('Durum:')} ${result.status || 'active'}`);
|
|
170
|
+
console.log('');
|
|
171
|
+
} catch (e) {
|
|
172
|
+
console.log(chalk.red(` ✗ Hata: ${e.message}\n`));
|
|
173
|
+
}
|
|
127
174
|
}
|
|
128
175
|
|
|
129
176
|
async function cmdConfig() {
|
|
130
177
|
const { getConfig } = require('../utils/config');
|
|
131
178
|
const cfg = getConfig();
|
|
132
|
-
console.log(chalk.cyan('\n ⚙️
|
|
133
|
-
console.log(chalk.gray('
|
|
134
|
-
console.log(chalk.gray('
|
|
179
|
+
console.log(chalk.cyan('\n ⚙️ NatureCo API Ayarları\n'));
|
|
180
|
+
console.log(chalk.gray(' API Key: ') + (cfg.apiKey ? chalk.green('✓ ayarlı') : chalk.yellow('yok')));
|
|
181
|
+
console.log(chalk.gray(' Bot ID: ') + (cfg.naturecoBotId ? chalk.green(cfg.naturecoBotId) : chalk.yellow('ayarlanmamış')));
|
|
182
|
+
console.log(chalk.gray('\n Giriş: ') + chalk.cyan('natureco login'));
|
|
183
|
+
console.log(chalk.gray(' Bot ID: ') + chalk.cyan('natureco config set naturecoBotId <id>'));
|
|
184
|
+
console.log(chalk.gray(' Botlar: ') + chalk.cyan('natureco naturehub list'));
|
|
135
185
|
console.log('');
|
|
136
186
|
}
|
|
137
187
|
|
|
@@ -139,16 +189,16 @@ async function naturehub(args) {
|
|
|
139
189
|
const [action, ...params] = args || [];
|
|
140
190
|
if (!action || action === 'help') {
|
|
141
191
|
console.log(chalk.yellow('\n Kullanım:'));
|
|
142
|
-
console.log(chalk.gray(' natureco naturehub post <
|
|
143
|
-
console.log(chalk.gray(' natureco naturehub list
|
|
144
|
-
console.log(chalk.gray(' natureco naturehub
|
|
145
|
-
console.log(chalk.gray(' natureco naturehub config
|
|
192
|
+
console.log(chalk.gray(' natureco naturehub post "<mesaj>" Bota mesaj gönder'));
|
|
193
|
+
console.log(chalk.gray(' natureco naturehub list Botları listele'));
|
|
194
|
+
console.log(chalk.gray(' natureco naturehub info [bot_id] Bot detayı'));
|
|
195
|
+
console.log(chalk.gray(' natureco naturehub config Ayarlar'));
|
|
146
196
|
console.log('');
|
|
147
197
|
return;
|
|
148
198
|
}
|
|
149
199
|
if (action === 'post') return cmdPost(params);
|
|
150
200
|
if (action === 'list') return cmdList();
|
|
151
|
-
if (action === '
|
|
201
|
+
if (action === 'info') return cmdInfo(params[0]);
|
|
152
202
|
if (action === 'config') return cmdConfig();
|
|
153
203
|
console.log(chalk.red(`\n Bilinmeyen action: ${action}\n`));
|
|
154
204
|
}
|