bot-tele 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/main.js +99 -0
  2. 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
+ }