bot-tele 1.0.0 → 1.1.0

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/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Cara menjalankan Gassefals Bot:
2
+
3
+ 1. git clone https://github.com/Kafiirr/gassefals-bot.git
4
+ 2. cd gassefals-bot
5
+ 3. npm install
6
+ 4. input API bot telegram
7
+ 5. Mempunyai npmjs token akses
8
+ 6. Ikuti Step by Step
9
+ > Kelar!
package/main.js CHANGED
@@ -1,8 +1,9 @@
1
1
  const TelegramBot = require('node-telegram-bot-api');
2
2
  const { exec } = require('child_process');
3
+ const fs = require('fs');
3
4
 
4
5
  // Token bot Telegram
5
- const token = '7034897686:AAHMiZXrjx4S3bJWHO4pcSOn93Yez8oNarI';
6
+ const token = 'INPUT_BOT_TELE_API';
6
7
 
7
8
  // Inisialisasi bot Telegram
8
9
  const bot = new TelegramBot(token, { polling: true });
@@ -24,6 +25,7 @@ bot.onText(/\/start/, (msg) => {
24
25
  bot.on('message', (msg) => {
25
26
  const chatId = msg.chat.id;
26
27
  const message = msg.text.trim();
28
+ const username = msg.from.username; // Peroleh nama pengguna Telegram
27
29
 
28
30
  if (userSessions[chatId]) {
29
31
  const step = userSessions[chatId].step;
@@ -31,26 +33,26 @@ bot.on('message', (msg) => {
31
33
  case 1:
32
34
  // Simpan akses token npmjs
33
35
  userSessions[chatId].npmToken = message;
34
- bot.sendMessage(chatId, 'Akses token npmjs lau ogut save ye.');
35
- bot.sendMessage(chatId, 'Isi nama packages npmjs lau yang udh ada:');
36
- userSessions[chatId].step++;
36
+ bot.sendMessage(chatId, 'Akses token npmjs lau ogut keep.');
37
+ bot.sendMessage(chatId, 'Next, isi nama packages npmjs lau yang udh ada:');
38
+ userSessions[chatId].step = 2;
37
39
  break;
38
40
  case 2:
39
41
  // Simpan nama proyek npmjs
40
42
  userSessions[chatId].projectName = message;
41
43
  bot.sendMessage(chatId, 'Ok packages npmjs lau udh ogut save.');
42
44
  bot.sendMessage(chatId, 'Input URL repositori GitHub:');
43
- userSessions[chatId].step++;
45
+ userSessions[chatId].step = 3;
44
46
  break;
45
47
  case 3:
46
48
  // Simpan URL repositori GitHub
47
49
  userSessions[chatId].githubRepo = message;
48
- bot.sendMessage(chatId, 'URL repositori GitHub ogut save.');
49
50
  bot.sendMessage(chatId, 'Dono. Ketik /buat untuk memulai pembuatan packages baru dan mempublishnya ke npmjs.');
50
- userSessions[chatId].step++;
51
+ bot.sendMessage(chatId, 'URL repositori GitHub ogut save.');
52
+ userSessions[chatId].step = 4;
51
53
  break;
52
54
  default:
53
- bot.sendMessage(chatId, 'Lau run perintah apaan hah.');
55
+ bot.sendMessage(chatId, 'Tunggu sebentar.');
54
56
  break;
55
57
  }
56
58
  }
@@ -62,38 +64,155 @@ bot.onText(/\/buat/, (msg) => {
62
64
  const npmToken = userSessions[chatId].npmToken;
63
65
  const projectName = userSessions[chatId].projectName;
64
66
  const githubRepo = userSessions[chatId].githubRepo;
67
+ const username = msg.from.username; // Peroleh nama pengguna Telegram
65
68
 
66
69
  if (!npmToken || !projectName || !githubRepo) {
67
- bot.sendMessage(chatId, 'Lengkapi semua datanya dulu prend.');
70
+ bot.sendMessage(chatId, 'Lengkapi semua datanya dulu, ya.');
68
71
  return;
69
72
  }
70
73
 
71
- bot.sendMessage(chatId, '📦 Mulai membuat packages baru...');
72
-
73
- // Perintah untuk mempublish proyek ke npmjs
74
- exec(`npm publish --token=${npmToken}`, (err, stdout, stderr) => {
74
+ // Generate nama paket baru secara acak
75
+ const newPackageName = generateRandomPackageName();
76
+
77
+ bot.sendMessage(chatId, `📦 Mulai membuat packages baru: ${newPackageName}`);
78
+
79
+ // Path ke direktori untuk package baru
80
+ const packageDirPath = `./${newPackageName}`;
81
+
82
+ // Buat direktori baru untuk package baru
83
+ fs.mkdir(packageDirPath, (err) => {
75
84
  if (err) {
76
- // Tanggapan jika ada kesalahan dalam mempublish proyek
77
- bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam mempublish packages.');
85
+ // Tanggapan jika terjadi kesalahan dalam membuat direktori
86
+ bot.sendMessage(chatId, 'Waduh, terjadi kesalahan dalam membuat packages baru.');
78
87
  console.error(err);
79
88
  return;
80
89
  }
81
-
82
- // Tanggapan jika proyek berhasil dipublish
83
- bot.sendMessage(chatId, `✅ Packages ${projectName} berhasil dipublish ke npmjs.`);
84
- bot.sendMessage(chatId, '🔗 Menambahkan packages sebagai dependents ke packages npmjs lau yang sudah ada...');
85
-
86
- // Perintah untuk menambahkan proyek sebagai dependensi
87
- exec(`npm install --save ${projectName}@${githubRepo}`, (err, stdout, stderr) => {
90
+
91
+ // Tanggapan jika direktori berhasil dibuat
92
+ bot.sendMessage(chatId, `✅ Packages ${newPackageName} berhasil dibuat.`);
93
+
94
+ // Membuat file package.json
95
+ createPackageJson(newPackageName, githubRepo, projectName, (err) => {
88
96
  if (err) {
89
- // Tanggapan jika ada kesalahan dalam menambahkan dependensi
90
- bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam menambahkan packages sebagai dependents.');
97
+ bot.sendMessage(chatId, 'Waduh, terjadi kesalahan dalam membuat file package.json.');
91
98
  console.error(err);
92
99
  return;
93
100
  }
94
-
95
- // Tanggapan jika proyek berhasil ditambahkan sebagai dependensi
96
- bot.sendMessage(chatId, `✅ Proyek ${projectName} berhasil ditambahkan sebagai dependents.`);
101
+
102
+ // Path ke file kode atau templat kode
103
+ const templateFilePath = 'template_code.js'; // Ganti dengan path template kode yang sesuai
104
+
105
+ // Baca template kode dari file
106
+ fs.readFile(templateFilePath, 'utf8', (err, data) => {
107
+ if (err) {
108
+ bot.sendMessage(chatId, 'Waduh, terjadi kesalahan dalam membaca template kode.');
109
+ console.error(err);
110
+ return;
111
+ }
112
+
113
+ // Simpan template kode ke dalam file proyek baru
114
+ const newPackageFilePath = `${packageDirPath}/index.js`;
115
+ fs.writeFile(newPackageFilePath, data, (err) => {
116
+ if (err) {
117
+ bot.sendMessage(chatId, 'Waduh, terjadi kesalahan dalam menyimpan kode proyek baru.');
118
+ console.error(err);
119
+ return;
120
+ }
121
+
122
+ // Tanggapan jika kode proyek berhasil disimpan
123
+ bot.sendMessage(chatId, `✅ Kode proyek ${newPackageName} berhasil disimpan.`);
124
+
125
+ // Perintah untuk mempublish proyek ke npmjs dengan nama paket baru
126
+ exec(`npm publish ${packageDirPath}`, (err, stdout, stderr) => {
127
+ if (err) {
128
+ // Tanggapan jika ada kesalahan dalam mempublish proyek
129
+ bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam mempublish packages.');
130
+ console.error(err);
131
+ return;
132
+ }
133
+
134
+ // Tanggapan jika proyek berhasil dipublish
135
+ bot.sendMessage(chatId, `✅ Packages ${newPackageName} berhasil dipublish ke npmjs.`);
136
+ bot.sendMessage(chatId, '🔗 Menambahkan packages sebagai dependents ke packages npmjs lau yang sudah ada...');
137
+
138
+ // Perintah untuk menambahkan proyek sebagai dependensi
139
+ exec(`npm i ${projectName} -g latest`, (err, stdout, stderr) => {
140
+ if (err) {
141
+ // Tanggapan jika ada kesalahan dalam menambahkan dependensi
142
+ bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam menambahkan packages sebagai dependents.');
143
+ console.error(err);
144
+ return;
145
+ }
146
+
147
+ // Perintah untuk menambahkan packages yang baru dibuat sebagai dependensi
148
+ exec(`npm i ${newPackageName} -g latest`, (err, stdout, stderr) => {
149
+ if (err) {
150
+ // Tanggapan jika ada kesalahan dalam menambahkan dependensi
151
+ bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam menambahkan packages sebagai dependents.');
152
+ console.error(err);
153
+ return;
154
+ }
155
+
156
+ // Tanggapan jika proyek berhasil ditambahkan sebagai dependensi
157
+ bot.sendMessage(chatId, `✅ Proyek ${newPackageName} berhasil ditambahkan sebagai dependents. Run /start untuk memulai ulang`);
158
+ });
159
+ });
160
+ });
161
+ });
162
+ });
97
163
  });
98
164
  });
99
165
  });
166
+
167
+ // Fungsi untuk menghasilkan nama paket baru secara acak
168
+ function generateRandomPackageName() {
169
+ const length = 10;
170
+ const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
171
+ let packageName = '';
172
+ for (let i = 0; i < length; i++) {
173
+ packageName += characters.charAt(Math.floor(Math.random() * characters.length));
174
+ }
175
+ return packageName;
176
+ }
177
+
178
+ // Fungsi untuk membuat file package.json
179
+ function createPackageJson(packageName, githubRepo, projectName, callback) {
180
+ // Dapatkan versi terbaru dari paket yang ada menggunakan npm
181
+ exec(`npm show ${projectName} version`, (err, stdout, stderr) => {
182
+ if (err) {
183
+ console.error(err);
184
+ // Tanggapan jika terjadi kesalahan saat mengambil versi
185
+ bot.sendMessage(chatId, 'Waduh, terjadi kesalahan dalam mengambil versi terbaru dari package yang ada.');
186
+ return;
187
+ }
188
+
189
+ // Ambil versi terbaru dan hapus spasi dan baris baru yang tidak diinginkan
190
+ const latestVersion = stdout.trim();
191
+
192
+ // Buat isi file package.json dengan versi terbaru
193
+ const packageJsonContent = {
194
+ name: packageName,
195
+ version: '1.0.0',
196
+ description: 'Generated packages by Gassefals AI',
197
+ main: 'index.js',
198
+ scripts: {
199
+ test: 'test'
200
+ },
201
+ repository: {
202
+ type: 'git',
203
+ url: `${githubRepo}`
204
+ },
205
+ license: 'ISC',
206
+ keywords: [],
207
+ dependencies: {
208
+ [packageName]: '1.0.0',
209
+ [projectName]: `^${latestVersion}` // Gunakan versi terbaru dari paket yang ada
210
+ }
211
+ };
212
+
213
+ const packageJsonPath = `${packageName}/package.json`;
214
+
215
+ // Tulis isi file package.json ke dalam file
216
+ fs.writeFile(packageJsonPath, JSON.stringify(packageJsonContent, null, 4), callback);
217
+ });
218
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bot-tele",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -10,6 +10,9 @@
10
10
  "author": "",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "node-telegram-bot-api": "^0.65.1"
13
+ "koberious": "^1.0.0",
14
+ "node-telegram-bot-api": "^0.65.1",
15
+ "p3nj52buas": "^1.0.0",
16
+ "tampikober-framework": "^1.1.0"
14
17
  }
15
18
  }
@@ -0,0 +1,44 @@
1
+ const { parallel, series } = require('gulp');
2
+ const { buildLegacy } = require('./gulpTasks/legacy');
3
+ const { doc } = require('./gulpTasks/doc');
4
+ const { setNodeProdEnv } = require('./gulpTasks/nodeEnv');
5
+ const { fileTypes } = require('./gulpTasks/filetypes');
6
+ const { fonts } = require('./gulpTasks/fonts');
7
+ const { iconList } = require('./gulpTasks/iconList');
8
+ const { buildStrings, testString } = require('./gulpTasks/strings');
9
+ const { setup } = require('./gulpTasks/setup');
10
+ const { templates } = require('./gulpTasks/templates');
11
+ const { compile, compileTSOnly, minimize, analyze } = require('./gulpTasks/compile');
12
+ const { definitions, validateDefs } = require('./gulpTasks/definition');
13
+ const { dev, devTest, devAccessibilityTest } = require('./gulpTasks/dev');
14
+ const { zipForGitReleases } = require('./gulpTasks/zip');
15
+ const { coverage, uploadCoverage, unitTests, accessibilityTests } = require('./gulpTasks/test');
16
+ const { docsitemap } = require('./gulpTasks/docsitemap');
17
+ const { injectVersion } = require('./gulpTasks/injectVersion');
18
+ const del = require('del');
19
+
20
+ const cleanBin = () => del(['./bin']);
21
+ const src = series(compile, definitions);
22
+
23
+ const build = series(setNodeProdEnv, parallel(fonts, iconList, setup, templates), src);
24
+ const defaultTask = series(cleanBin, fileTypes, buildStrings, parallel(buildLegacy, build, doc));
25
+
26
+ exports.default = defaultTask;
27
+ exports.compileTSOnly = compileTSOnly;
28
+ exports.minimize = minimize;
29
+ exports.analyze = analyze;
30
+ exports.validateDefs = validateDefs;
31
+ exports.dev = dev;
32
+ exports.devTest = devTest;
33
+ exports.devAccessibilityTest = devAccessibilityTest;
34
+ exports.zipForGitReleases = zipForGitReleases;
35
+ exports.coverage = coverage;
36
+ exports.uploadCoverage = uploadCoverage;
37
+ exports.docsitemap = docsitemap;
38
+ exports.doc = doc;
39
+ exports.injectVersion = injectVersion;
40
+ exports.testString = testString;
41
+ exports.unitTests = unitTests;
42
+ exports.accessibilityTests = accessibilityTests;
43
+ exports.templates = templates;
44
+ exports.strings = buildStrings;