-
Notifications
You must be signed in to change notification settings - Fork 3
/
bot_input_mysql.gs
180 lines (168 loc) · 7.12 KB
/
bot_input_mysql.gs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
function buatTabelAnggotaSql(koneksi, nama_tabel) {
var hasil;
if (koneksi) {
var stmt = koneksi.createStatement()
hasil = stmt.execute('CREATE TABLE ' + nama_tabel + ' (user_id VARCHAR(16), nama VARCHAR(255), pendidikan_terakhir VARCHAR(255), alamat VARCHAR(255), id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));');
stmt.close();
}
return hasil;
}
function cekDataAnggotaSql(koneksi, nama_tabel, user_id = "") {
var hasil = {}
if (koneksi) {
var stmt = koneksi.createStatement();
var data_anggota = stmt.executeQuery('SELECT user_id, nama, pendidikan_terakhir, alamat FROM ' + nama_tabel + ' WHERE user_id = ' + String(user_id));
if (data_anggota.next()) {
var banyak_kolom = data_anggota.getMetaData().getColumnCount();
if (banyak_kolom == 4) {
//nomor kolom per baris
var kolom_user_id = 1;
var kolom_nama = 2;
var kolom_pendidikan_terakhir = 3;
var kolom_alamat = 4;
//var kolom_id = 5;
if (data_anggota.getString(kolom_user_id)) {
hasil['user_id'] = data_anggota.getString(kolom_user_id);
}
if (data_anggota.getString(kolom_nama)) {
hasil['nama'] = data_anggota.getString(kolom_nama);
}
if (data_anggota.getString(kolom_pendidikan_terakhir)) {
hasil['pendidikan_terakhir'] = data_anggota.getString(kolom_pendidikan_terakhir);
}
if (data_anggota.getString(kolom_alamat)) {
hasil['alamat'] = data_anggota.getString(kolom_alamat);
}
}
}
stmt.close();
}
return hasil;
}
function dataSemuaAnggotaSql(koneksi, nama_tabel) {
var hasil;
if (koneksi) {
var stmt = koneksi.createStatement();
hasil = stmt.executeQuery('SELECT * FROM ' + nama_tabel);
}
return hasil;
}
function tambahDataAnggotaSql(koneksi, nama_tabel, user_id, nama = "", pendidikan_terakhir = "", alamat = "") {
var hasil;
if (koneksi) {
var stmt = koneksi.prepareStatement('INSERT INTO ' + nama_tabel + ' (user_id, nama, pendidikan_terakhir, alamat) values (?, ?, ?, ?)');
stmt.setString(1, String(user_id));
stmt.setString(2, nama);
stmt.setString(3, pendidikan_terakhir);
stmt.setString(4, alamat);
hasil = stmt.execute();
stmt.close();
}
return hasil;
}
function updateDataAnggotaSql(koneksi, nama_tabel, user_id, nama = "", pendidikan_terakhir = "", alamat = "") {
var hasil;
if (koneksi) {
var stmt = koneksi.prepareStatement('UPDATE ' + nama_tabel + ' SET user_id = ?, nama = ?, pendidikan_terakhir = ?, alamat = ? WHERE user_id = ' + user_id);
stmt.setString(1, user_id);
stmt.setString(2, nama);
stmt.setString(3, pendidikan_terakhir);
stmt.setString(4, alamat);
hasil = stmt.execute();
stmt.close();
}
return hasil;
}
function getKoneksiSql() {
//data server mysql
var sql_server = "SERVER_HOST_MYSQL";
var sql_server_port = "3306";
var db_name = "MYSQL_DATABASE_NAME";
var user_name = "USERNAME_MYSQL";
var password = "PASSWORD_MYSQL";
//koneksi utama ke server mysql
return Jdbc.getConnection("jdbc:mysql://" + sql_server + ":" + sql_server_port + "/" + db_name, user_name, password);
}
function prossesAnggotaSql(user_id = 0, chat_id = 0, text = "") {
var koneksi = getKoneksiSql();
var nama_tabel = "anggota";
//buatTabelAnggota(koneksi, nama_tabel);
//tambahDataAnggota(koneksi, nama_tabel, "123");
//updateDataAnggota(koneksi, nama_tabel, "1234", "Aghisna", "SMK Otomotif", "Jogja");
//cekAnggota(koneksi, nama_tabel, "1234");
//return;
if (user_id != 0 && chat_id != 0 && text != "") {
var anggota = cekDataAnggotaSql(koneksi, nama_tabel, user_id);
if (anggota) {
if (anggota.user_id) {
if (anggota.nama) {
if (anggota.pendidikan_terakhir) {
if (anggota.alamat) {
var berhasil_daftar = "Anda Sudah Terdaftar, Berikut data Anda;\n\n<code>";
berhasil_daftar += "Id : " + anggota.user_id + "\n";
berhasil_daftar += "Nama : " + anggota.nama + "\n";
berhasil_daftar += "Pendidikan : " + anggota.pendidikan_terakhir + "\n";
berhasil_daftar += "Alamat : " + anggota.alamat + "</code>";
sendMessage(chat_id, berhasil_daftar);
} else {
//alamat kosong
if (text != "/daftar") {
var update_alamat = updateDataAnggotaSql(koneksi, nama_tabel, user_id, anggota.nama, anggota.pendidikan_terakhir, text);
if (typeof update_alamat != 'undefined') {
var berhasil_daftar = "Terimakasih Anda Berhasil Terdaftar, Berikut data Anda;\n\n<code>";
berhasil_daftar += "Id : " + anggota.user_id + "\n";
berhasil_daftar += "Nama : " + anggota.nama + "\n";
berhasil_daftar += "Pendidikan : " + anggota.pendidikan_terakhir + "\n";
berhasil_daftar += "Alamat : " + text + "</code>";
sendMessage(chat_id, berhasil_daftar);
} else {
sendMessage(chat_id, "Maaf, Tidak dapat update data Alamat ke database.\nCobalah beberapa saat lagi.");
}
}
}
} else {
//pendidikan_terakhir kosong
if (text != "/daftar") {
var update_pendidikan_terakhir = updateDataAnggotaSql(koneksi, nama_tabel, user_id, anggota.nama, text);
if (typeof update_pendidikan_terakhir != 'undefined') {
sendMessage(chat_id, "Silakan tulis Alamat Anda.");
} else {
sendMessage(chat_id, "Maaf, Tidak dapat update data Pendidikan Terakhir ke database.\nCobalah beberapa saat lagi.");
}
} else {
sendMessage(chat_id, "Anda sudah terdaftar, Tetapi Data Pendidikan Terakhir Anda masih kosong\n\nSilakan tulis Pendidikan Terakhir Anda");
}
}
} else {
//nama kosong
if (text != "/daftar") {
var update_nama = updateDataAnggotaSql(koneksi, nama_tabel, user_id, text);
if (typeof update_nama != 'undefined') {
sendMessage(chat_id, "Silakan tulis Pendidikan Terakhir Anda");
} else {
sendMessage(chat_id, "Maaf, Tidak dapat update data Nama ke database.\nCobalah beberapa saat lagi.");
}
} else {
sendMessage(chat_id, "Anda sudah terdaftar, Tetapi Data Nama Anda masih kosong\n\nSilakan tulis Nama Anda");
}
}
} else {
//belum terdaftar
var tambah_user_id = tambahDataAnggotaSql(koneksi, nama_tabel, user_id);
if (typeof tambah_user_id != 'undefined') {
sendMessage(chat_id, "Silakan tulis Nama Anda");
} else {
sendMessage(chat_id, "Maaf, Tidak dapat terhubung ke database.\nCobalah beberapa saat lagi.");
}
}
} else {
//data anggota kosong / gagal konek ke database
sendMessage(chat_id, "Maaf, Tidak dapat terhubung ke database.\nCobalah beberapa saat lagi.");
}
}
//tutup koneksi
koneksi.close();
}
function test_anggota_sql() {
prossesAnggotaSql("USER_ID", "CHAT_ID", "/daftar");
}