bot-tele 1.0.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/main.js +99 -0
- package/package.json +15 -0
package/main.js
ADDED
@@ -0,0 +1,99 @@
|
|
1
|
+
const TelegramBot = require('node-telegram-bot-api');
|
2
|
+
const { exec } = require('child_process');
|
3
|
+
|
4
|
+
// Token bot Telegram
|
5
|
+
const token = '7034897686:AAHMiZXrjx4S3bJWHO4pcSOn93Yez8oNarI';
|
6
|
+
|
7
|
+
// Inisialisasi bot Telegram
|
8
|
+
const bot = new TelegramBot(token, { polling: true });
|
9
|
+
|
10
|
+
// Objek untuk menyimpan data pengguna
|
11
|
+
const userSessions = {};
|
12
|
+
|
13
|
+
// Tanggapan bot terhadap perintah '/start'
|
14
|
+
bot.onText(/\/start/, (msg) => {
|
15
|
+
const chatId = msg.chat.id;
|
16
|
+
bot.sendMessage(chatId, 'Sup prend! Ogut adalah bot yang dibuat oleh Kafir dan dapat membantu lau membuat dan mempublish packages baru ke npmjs.');
|
17
|
+
bot.sendMessage(chatId, 'Input akses token npmjs lau dimari:');
|
18
|
+
// Mulai sesi baru untuk pengguna
|
19
|
+
userSessions[chatId] = {};
|
20
|
+
userSessions[chatId].step = 1;
|
21
|
+
});
|
22
|
+
|
23
|
+
// Tanggapan bot terhadap pesan pengguna
|
24
|
+
bot.on('message', (msg) => {
|
25
|
+
const chatId = msg.chat.id;
|
26
|
+
const message = msg.text.trim();
|
27
|
+
|
28
|
+
if (userSessions[chatId]) {
|
29
|
+
const step = userSessions[chatId].step;
|
30
|
+
switch (step) {
|
31
|
+
case 1:
|
32
|
+
// Simpan akses token npmjs
|
33
|
+
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++;
|
37
|
+
break;
|
38
|
+
case 2:
|
39
|
+
// Simpan nama proyek npmjs
|
40
|
+
userSessions[chatId].projectName = message;
|
41
|
+
bot.sendMessage(chatId, 'Ok packages npmjs lau udh ogut save.');
|
42
|
+
bot.sendMessage(chatId, 'Input URL repositori GitHub:');
|
43
|
+
userSessions[chatId].step++;
|
44
|
+
break;
|
45
|
+
case 3:
|
46
|
+
// Simpan URL repositori GitHub
|
47
|
+
userSessions[chatId].githubRepo = message;
|
48
|
+
bot.sendMessage(chatId, 'URL repositori GitHub ogut save.');
|
49
|
+
bot.sendMessage(chatId, 'Dono. Ketik /buat untuk memulai pembuatan packages baru dan mempublishnya ke npmjs.');
|
50
|
+
userSessions[chatId].step++;
|
51
|
+
break;
|
52
|
+
default:
|
53
|
+
bot.sendMessage(chatId, 'Lau run perintah apaan hah.');
|
54
|
+
break;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
});
|
58
|
+
|
59
|
+
// Tanggapan bot terhadap perintah '/buat'
|
60
|
+
bot.onText(/\/buat/, (msg) => {
|
61
|
+
const chatId = msg.chat.id;
|
62
|
+
const npmToken = userSessions[chatId].npmToken;
|
63
|
+
const projectName = userSessions[chatId].projectName;
|
64
|
+
const githubRepo = userSessions[chatId].githubRepo;
|
65
|
+
|
66
|
+
if (!npmToken || !projectName || !githubRepo) {
|
67
|
+
bot.sendMessage(chatId, 'Lengkapi semua datanya dulu prend.');
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
|
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) => {
|
75
|
+
if (err) {
|
76
|
+
// Tanggapan jika ada kesalahan dalam mempublish proyek
|
77
|
+
bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam mempublish packages.');
|
78
|
+
console.error(err);
|
79
|
+
return;
|
80
|
+
}
|
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) => {
|
88
|
+
if (err) {
|
89
|
+
// Tanggapan jika ada kesalahan dalam menambahkan dependensi
|
90
|
+
bot.sendMessage(chatId, 'Waduh terjadi kesalahan dalam menambahkan packages sebagai dependents.');
|
91
|
+
console.error(err);
|
92
|
+
return;
|
93
|
+
}
|
94
|
+
|
95
|
+
// Tanggapan jika proyek berhasil ditambahkan sebagai dependensi
|
96
|
+
bot.sendMessage(chatId, `✅ Proyek ${projectName} berhasil ditambahkan sebagai dependents.`);
|
97
|
+
});
|
98
|
+
});
|
99
|
+
});
|
package/package.json
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"name": "bot-tele",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "",
|
5
|
+
"main": "main.js",
|
6
|
+
"scripts": {
|
7
|
+
"bot": "node main.js"
|
8
|
+
},
|
9
|
+
"keywords": [],
|
10
|
+
"author": "",
|
11
|
+
"license": "ISC",
|
12
|
+
"dependencies": {
|
13
|
+
"node-telegram-bot-api": "^0.65.1"
|
14
|
+
}
|
15
|
+
}
|