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.
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
+ }