· 5 years ago · Oct 15, 2020, 11:18 AM
1<?php
2date_default_timezone_set('Asia/Tashkent');
3ini_set('error_reporting', 'off');
4ini_set('display_errors', 'off');
5ini_set('display_startup_errors', 'off');
6
7$admin = 683969047;
8$bot_token = "676643891:AAHrO9-0qK1ERpoV086A_xjQzH6cFJfJr-4";
9
10require "Telegram.php";
11
12$bot = new Telegram($bot_token);
13$update = $bot->getData();
14
15// function sendOk()
16// {
17// set_time_limit(60*15);
18// ignore_user_abort(true);
19// header("Content-Length: 0");
20// header("Connection: Close");
21// flush();
22// }
23
24$connect = mysqli_connect("localhost", "bottest", "bottest", "bottest");
25
26mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `bot`(
27 `id` int(11) PRIMARY KEY AUTO_INCREMENT,
28 `chat_id` int(50),
29 `user` varchar(50),
30 `step` varchar(20)
31)");
32
33mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `courses`(
34 `course_id` int(11) PRIMARY KEY AUTO_INCREMENT,
35 `course_name` varchar(250),
36 `count_users` varchar(50),
37 `end_time` varchar(50)
38)");
39
40mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `subscriber`(
41 `sub_id` int(11) PRIMARY KEY AUTO_INCREMENT,
42 `fullname` varchar(250),
43 `phone` varchar(50),
44 `chat_id` varchar(50),
45 `course_id` int(11),
46 `subscribed_at` varchar(200)
47)");
48
49mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `feedback`(
50 `id` int(11) PRIMARY KEY AUTO_INCREMENT,
51 `chat_id` int(50),
52 `feedback` varchar(20)
53)");
54
55mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `cache`(
56 `id` int(11) PRIMARY KEY AUTO_INCREMENT,
57 `chat_id` int(50)
58)");
59
60if ($update["message"]) {
61 $chat_id = $update["message"]["chat"]["id"];
62 $name = $update["message"]["from"]["first_name"]." ".$update["message"]["from"]["last_name"];
63 $user = $update["message"]["from"]["username"];
64 $text = $update["message"]["text"];
65 $mesid = $update["message"]["message_id"];
66 $rtext = $update["message"]["reply_to_message"]["text"];
67 $contact = $update["message"]["contact"]["phone_number"];
68 $step = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `bot` WHERE chat_id='$chat_id'"))['step'];
69} elseif($update["callback_query"]){
70 $cqid = $update["callback_query"]["id"];
71 $data = $update["callback_query"]["data"];
72 $cid2 = $update["callback_query"]["message"]["chat"]["id"];
73 $mid2 = $update["callback_query"]["message"]["message_id"];
74 $name2 = $update["callback_query"]["message"]["chat"]["first_name"]." ".$update["callback_query"]["message"]["chat"]["last_name"];
75}
76
77mkdir("kurs");
78
79if (isset($text)) {
80 $num = mysqli_num_rows(mysqli_query($connect, "SELECT * FROM `bot` WHERE chat_id='$chat_id'"));
81 if ($num==1) {
82 }elseif ($num==0) {
83 mysqli_query($connect, "INSERT INTO `bot`(chat_id, user) VALUES('$chat_id', '$user')");
84 }
85}
86
87if ($text=='/start') {
88 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$chat_id'");
89 $bot->sendMessage([
90 'chat_id' => $chat_id,
91 'text' => "<b>Assalomu alaykum, hurmatli $name</b>
92
93Sizni tutorials.uz onlayn taʼlim platformamizning rasmiy botida koʻrib turganimdan xursandman. Oʻzingizga qiziq boʻlimlardan, maʼlumotlar oʻqib, bilim olishingiz mumkin.
94
95<b>Telegram Kanalimiz:</b> @tutorialsuz",
96 'parse_mode' => "html",
97 'reply_markup' => json_encode([
98 'inline_keyboard' => [
99 [['callback_data' => "lessons", 'text' => "? Darsliklar"],['callback_data' => "blog", 'text' => "? Maqolalar"]],
100 [['callback_data' => "about", 'text' => "ℹ️ Biz haqimizda"], ['callback_data' => "contact", 'text' => "☎️ Aloqa"]],
101 [['callback_data' => "feedback", 'text' => "? Botimizni baholang!"], ['callback_data' => "courses", 'text' => "? Kurslar"]]
102 ]
103 ])
104 ]);
105}
106
107if ($data=='back') {
108 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$cid2'");
109 $bot->editMessageText([
110 'chat_id' => $cid2,
111 'message_id' => $mid2,
112 'text' => "<b>Assalomu alaykum, hurmatli $name2</b>
113
114Sizni tutorials.uz onlayn taʼlim platformamizning rasmiy botida koʻrib turganimdan xursandman. Oʻzingizga qiziq boʻlimlardan, maʼlumotlar oʻqib, bilim olishingiz mumkin.
115
116<b>Telegram Kanalimiz:</b> @tutorialsuz",
117 'parse_mode' => "html",
118 'disable_web_page_preview' => true,
119 'reply_markup' => json_encode([
120 'inline_keyboard' => [
121 [['callback_data' => "lessons", 'text' => "? Darsliklar"],['callback_data' => "blog", 'text' => "? Maqolalar"]],
122 [['callback_data' => "about", 'text' => "ℹ️ Biz haqimizda"], ['callback_data' => "contact", 'text' => "☎️ Aloqa"]],
123 [['callback_data' => "feedback", 'text' => "? Botimizni baholang!"], ['callback_data' => "courses", 'text' => "? Kurslar"]]
124 ]
125 ])
126 ]);
127}
128
129if ($data=='courses') {
130 $b = mysqli_query($connect, "SELECT * FROM `courses`");
131 $count = mysqli_num_rows($b);
132 for ($i=$count; $i>=1; $i--) {
133 $a = mysqli_fetch_assoc($b);
134 $key[] = ['callback_data' => "kurs_".$a['course_id'], 'text' => $a['course_name']];
135 }
136 $key = array_chunk($key, 2);
137 $back[] = [['text' => "◀️ Orqaga",'callback_data' => "back"]];
138 $key = array_merge($key, $back);
139 $key = json_encode(['inline_keyboard' => $key]);
140 $bot->editMessageText([
141 'chat_id' => $cid2,
142 'message_id' => $mid2,
143 'text' => "<b>Bepul</b> va <b>pullik</b> onlayn kurslarga qatnashish uchun ariza yuborish uchun quyidagilardan birini tanlang ?",
144 'parse_mode' => "html",
145 'disable_web_page_preview' => true,
146 'reply_markup' => $key
147 ]);
148}
149
150if (stripos($data, "kurs_")!==false) {
151 $id = explode("_", $data)[1];
152 if (mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM subscriber WHERE chat_id='$cid2' AND course_id='$id'"))) {
153 $bot->answerCallbackQuery([
154 'callback_query_id' => $cqid,
155 'text' => "Siz bu kursga ro'yxatdan o'tgansiz!"
156 ]);
157 }else{
158 $course = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `courses` WHERE course_id='$id'"));
159 $uzbekistan = new DateTimeZone('Asia/Tashkent');
160 $endTime = new DateTime($course['end_time'], $uzbekistan);
161 $now = new DateTime("now", $uzbekistan);
162 $diff = ($now->diff($endTime))->format("%R");
163 if ($diff == '-') {
164 $bot->answerCallbackQuery([
165 'callback_query_id' => $cqid,
166 'text' => "Kursga ro'yxatdan o'tish vaqti tugab bo'lgan."
167 ]);
168 }else{
169 file_put_contents("kurs/$cid2.id", "$id");
170 mysqli_query($connect, "UPDATE `bot` SET step='name' WHERE chat_id='$cid2'");
171 $bot->editMessageText ([
172 'chat_id' => $cid2,
173 'message_id' => $mid2,
174 'text' => "? <b>F.I.SH(Familiya Ism Sharifingiz)ni kiriting:</b>",
175 'parse_mode' => "html"
176 ]);
177 }
178 }
179}
180
181if ($step=='name') {
182 if($text=='/start'){
183 }else{
184 file_put_contents("kurs/$chat_id.name", "$text");
185 mysqli_query($connect, "UPDATE `bot` SET step='number' WHERE chat_id='$chat_id'");
186 $bot->sendMessage ([
187 'chat_id' => $chat_id,
188 'text' => "☎️ <b>Telefon raqamingizni yuboring:</b>",
189 'parse_mode' => "html",
190 'reply_markup' => json_encode([
191 'resize_keyboard' => true,
192 'keyboard' => [
193 [['request_contact' => true, 'text' => "? Telefon Raqamni Yuborish"]]
194 ]
195 ]),
196 ]);
197 }
198}
199
200if ($step=='number' and isset($contact)) {
201 $fullname = file_get_contents("kurs/$chat_id.name");
202 $id = file_get_contents("kurs/$chat_id.id");
203 $date = date("Y-m-d H:i:s");
204 mysqli_query($connect, "INSERT INTO `subscriber`(fullname, phone, chat_id, course_id, subscribed_at) VALUES('$fullname', '$contact', '$chat_id', '$id', '$date')");
205 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$chat_id'");
206 $bot->sendMessage ([
207 'chat_id' => $chat_id,
208 'text' => "☑️ <b>Barcha ma'lumotlar saqlandi!</b> Agar siz tanlab olingan bo'lsangiz, bot sizga avtomatik xabar yuboradi.",
209 'parse_mode' => "html",
210 'reply_markup' => json_encode([
211 'remove_keyboard' => true,
212 ]),
213 ]);
214 $bot->sendMessage([
215 'chat_id' => $chat_id,
216 'text' => "<b>Assalomu alaykum, hurmatli $name</b>
217
218Sizni tutorials.uz onlayn taʼlim platformamizning rasmiy botida koʻrib turganimdan xursandman. Oʻzingizga qiziq boʻlimlardan, maʼlumotlar oʻqib, bilim olishingiz mumkin.
219
220<b>Telegram Kanalimiz:</b> @tutorialsuz",
221 'parse_mode' => "html",
222 'reply_markup' => json_encode([
223 'inline_keyboard' => [
224 [['callback_data' => "lessons", 'text' => "? Darsliklar"],['callback_data' => "blog", 'text' => "? Maqolalar"]],
225 [['callback_data' => "about", 'text' => "ℹ️ Biz haqimizda"], ['callback_data' => "contact", 'text' => "☎️ Aloqa"]],
226 [['callback_data' => "feedback", 'text' => "? Botimizni baholang!"], ['callback_data' => "courses", 'text' => "? Kurslar"]]
227 ]
228 ])
229 ]);
230 $course_name = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `courses` WHERE course_id='$id'"))['course_name'];
231 $bot->sendMessage ([
232 'chat_id' => $admin,
233 'text' => "<b>".$course_name."</b> kursiga yangi foydalanuvchi ro'yxatdan o'tdi!\n\nIsmi: <a href='tg://user?id=$chat_id'>$fullname</a>\nTelefon raqami: $contact\nRo'yxatdan o'tgan vaqti: $date",
234 'parse_mode' => "html"
235 ]);
236 unlink("kurs/$chat_id.name");
237 unlink("kurs/$chat_id.id");
238}
239
240if ($data=='feedback') {
241 $id = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `feedback` WHERE chat_id='$cid2'"));
242 if ($id) {
243 $bot->answerCallbackQuery([
244 'callback_query_id' => $cqid,
245 'text' => "Siz oldin botni baholagansiz..."
246 ]);
247 }else{
248 $bot->editMessageText([
249 'chat_id' => $cid2,
250 'message_id' => $mid2,
251 'text' => "<b>Sharhingizni qoldiring.</b> ☺️",
252 'parse_mode' => "html",
253 'disable_web_page_preview' => true,
254 'reply_markup' => json_encode([
255 'inline_keyboard' => [
256 [['callback_data' => "feed_zor", 'text' => "Hammasi zo'r ?"]],
257 [['callback_data' => "feed_nice", 'text' => "Kamchiliklar bor ?"]],
258 [['callback_data' => "feed_bad", 'text' => "Yomon ?"]],
259 [['callback_data' => "back", 'text' => "◀️ Orqaga"]],
260 ]
261 ])
262 ]);
263 }
264}
265if (stripos($data, "feed_")!==false) {
266 $feed = explode("_", $data)[1];
267 if ($feed=="zor") {
268 $fe = "Hammasi zo'r ?";
269 }elseif ($feed=="nice") {
270 $fe = "Kamchiliklar bor ?";
271 }else{
272 $fe = "Yomon ?";
273 }
274 $bot->sendMessage([
275 'chat_id' => $admin,
276 'text' => "<a href='tg://user?id=$cid2'>$name2</a> botni baholadi!\nFeedback: <b>$fe</b>",
277 'parse_mode' => "html",
278 ]);
279 $bot->answerCallbackQuery([
280 'callback_query_id' => $cqid,
281 'text' => "Barchasi uchun raxmat!"
282 ]);
283 $bot->editMessageText([
284 'chat_id' => $cid2,
285 'message_id' => $mid2,
286 'text' => "<b>Assalomu alaykum, hurmatli $name2</b>
287
288Sizni tutorials.uz onlayn taʼlim platformamizning rasmiy botida koʻrib turganimdan xursandman. Oʻzingizga qiziq boʻlimlardan, maʼlumotlar oʻqib, bilim olishingiz mumkin.
289
290<b>Telegram Kanalimiz:</b> @tutorialsuz",
291 'parse_mode' => "html",
292 'disable_web_page_preview' => true,
293 'reply_markup' => json_encode([
294 'inline_keyboard' => [
295 [['callback_data' => "lessons", 'text' => "? Darsliklar"],['callback_data' => "blog", 'text' => "? Maqolalar"]],
296 [['callback_data' => "about", 'text' => "ℹ️ Biz haqimizda"], ['callback_data' => "contact", 'text' => "☎️ Aloqa"]],
297 [['callback_data' => "feedback", 'text' => "? Botimizni baholang!"], ['callback_data' => "courses", 'text' => "? Kurslar"]]
298 ]
299 ])
300 ]);
301 mysqli_query($connect, "INSERT INTO `feedback`(chat_id, feedback) VALUES('$cid2', '$feed')");
302}
303if ($data=='contact') {
304 $bot->editMessageText([
305 'chat_id' => $cid2,
306 'message_id' => $mid2,
307 'text' => "<b>Ijtimoiy tarmoqlarimiz:</b>\n\n<a href='https://vk.com/tutorialsuz'>VK</a> | <a href='https://www.youtube.com/tutorialsuz'>YouTube</a> | <a href='https://t.me/tutorialsuz'>Telegram</a>",
308 'parse_mode' => "html",
309 'disable_web_page_preview' => true,
310 'reply_markup' => json_encode([
311 'inline_keyboard' => [
312 [['callback_data' => "send message", 'text' => "? Xabar yuborish"]],
313 [['callback_data' => "back", 'text' => "◀️ Orqaga"]]
314 ]
315 ])
316 ]);
317}
318
319if ($data=='send message') {
320 mysqli_query($connect, "UPDATE `bot` SET step='sms' WHERE chat_id='$cid2'");
321 $bot->editMessageText([
322 'chat_id' => $cid2,
323 'message_id' => $mid2,
324 'text' => "<b>Savolingiz bo'lsa tortinmasdan berishingiz mumkin.</b>",
325 'parse_mode' => "html",
326 'disable_web_page_preview' => true,
327 'reply_markup' => json_encode([
328 'inline_keyboard' => [
329 [['callback_data' => "back", 'text' => "◀️ Orqaga"]]
330 ]
331 ])
332 ]);
333}
334
335if ($step=='sms' and isset($text)) {
336 $bot->sendMessage([
337 'chat_id' => $admin,
338 'text' => "<b>Yangi xabar:</b>\n<b>Xabar matni</b> - $text \n\n<b>Foydalanuvchi</b> - <a href='tg://user?id=$chat_id'>$chat_id</a>",
339 'parse_mode' => "html",
340 'reply_markup' => json_encode([
341 'inline_keyboard' => [
342 [['callback_data' => "sms_".$chat_id."_".$mesid, 'text' => "✏️"]]
343 ]
344 ])
345 ]);
346 $bot->sendMessage([
347 'chat_id' => $chat_id,
348 'text' => "<b>Xabaringiz yuborildi.</b>",
349 'parse_mode' => "html",
350 'reply_markup' => json_encode([
351 'inline_keyboard' => [
352 [['callback_data' => "back", 'text' => "◀️ Orqaga"]]
353 ]
354 ])
355 ]);
356 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$chat_id'");
357}
358
359if (stripos($data, 'sms_')!==false) {
360 $id = explode("_", $data)[1];
361 $mid = explode("_", $data)[2];
362 mysqli_query($connect, "UPDATE `bot` SET step='$mid' WHERE chat_id='$admin'");
363 $bot->deleteMessage([
364 'chat_id' => $cid2,
365 'message_id' => $mid2
366 ]);
367 $bot->sendMessage([
368 'chat_id' => $cid2,
369 'text' => "<b>Xabar matnini kiriting:</b> $id",
370 'parse_mode' => "html",
371 'reply_markup' => $bot->buildForceReply()
372 ]);
373}
374
375if (stripos($rtext, 'Xabar matnini kiriting: ')!==false) {
376 $id = str_replace('Xabar matnini kiriting: ', '', $rtext);
377 $bot->sendMessage([
378 'chat_id' => $id,
379 'text' => $text,
380 'parse_mode' => "html",
381 'reply_to_message_id' => mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `bot` WHERE chat_id='$admin'"))['step']
382 ]);
383 $bot->sendMessage([
384 'chat_id' => $admin,
385 'text' => "<b>Xabaringiz yuborildi!</b>",
386 'parse_mode' => "html",
387 ]);
388 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$admin'");
389}
390
391if ($data=='about') {
392 $bot->editMessageText([
393 'chat_id' => $cid2,
394 'message_id' => $mid2,
395 'text' => "<a href='https://tutorials.uz'>Tutorials.uz haqida ma'lumot</a>\n\nTutorials.uz platformasiga asos solishda, sardor <b>Sanjarbek Sobirjonov</b>, do'sti <b>Abduvahobov Abdurasul</b> , <b>Muhammadali Hakimov</b> hamda qo'llab turgan <b>Qudratxo'ja Musayev</b>, <b>Nodir</b> kabi insonlar ishtirok etishgan.\n\nTutorials.uz <b>2019-yilning 17-may</b> sanasida tashkil topib, hozirgacha o'z faoliyatini olib bormoqda. Platformaning maqsadi, o'zbek tilidagi kontentlar sonini ko'paytirish, hissa qo'shish.\n\nShu jumladan, ayni damda Tutorials.uz - onlayn bepul ta'lim platformasi deb yuritiladi. Platformada, texnologiya, tabiiy va aniq fanlar bo'yicha darsliklar joylanadi. Darsliklar 2 toifada bo'lib, 1-toifaga bepul, 2-toifaga pullik darsliklar kiradi. Asosan bepul darsliklar platformada katta songa ega.\n\nKelgusida, platformada o'qituvchi va o'quvchi kabinetlari yaratilib, o'qituvchi o'zi joylagan darsliklarini sotishi va Tutorials.uz ning hamkoriga aylanish imkoniga ega bo'ladi.\n\n<b>Yaxshilik dunyoni o'zgartiradi, keling birlashamiz.</b>",
396 'parse_mode' => "html",
397 'disable_web_page_preview' => true,
398 'reply_markup' => json_encode([
399 'inline_keyboard' => [
400 [['callback_data' => "question", 'text' => "⁉️ Tez-tez beriladigan savollar"]],
401 [['callback_data' => "back", 'text' => "◀️ Orqaga"]]
402 ]
403 ])
404 ]);
405}
406
407if ($data=='question') {
408 $bot->editMessageText([
409 'chat_id' => $cid2,
410 'message_id' => $mid2,
411 'text' => "<b>Bu qanaqa sayt?</b>\n<i>Tutorials.uz barcha sohalar bo'yicha onlayn bepul darslarni yetkazib beruvchi ko'ngilli platforma. Ayni damda Tutorials.uz dasturlash darslarni to'liq qamrab olmoqda. Bosqichma-bosqich boshqa turdagi darslarni ham saytimizda ko'rishingiz mumkin bo'ladi.</i>\n\n<b>Darsliklar qayerdan olinadi?</b>\n<i>Dasturlash tiliga oid dasturlash darslarining ko'pi Sobirjonov Sanjarbek tomonidan chet manbalariga asoslangan holda tarjima qilingan. Agar siz ham boshqa turdagi(masalan, matematika, fizika, biznes, dasturlash) darslarni yozib, saytimiz foydalanuvchilari uchun bepul, beminnat xizmat qilmoqchi bo'lsangiz,</i> @sobirjonovs <i>telegramga yozishingizni iltimos qilib qolamiz.</i>\n\n<b>Qanday fanlardan bilim olishim mumkin?</b>\n<i>Bizning platforma orqali siz texnologiya, matematika, fizika, ingliz tili, rus tili, geometriya va hakozo kabi fanlardan darslarni muntazam o'qib, o'rganib borishingiz mumkin. Hozirda faqatgina, texnologiya bo'yicha darslar mavjud.</i>\n\n<b>Tutorials.uz ga sarmoya kiritsam bo'ladimi?</b>\n<i>Albatta, ha! Agar tutorials.uz o'quvchilarining bilimlarini oshirish uchun, ularga bepul ta'limni yetkazib berishga hissa qo'shsangiz bu katta yordam va savobli ishlardan biri hisoblanadi. Bu masala bo'yicha,</i> @sobirjonovs <i>telegram manziliga yozishingiz mumkin.</i>",
412 'parse_mode' => "html",
413 'disable_web_page_preview' => true,
414 'reply_markup' => json_encode([
415 'inline_keyboard' => [
416 [['callback_data' => "back", 'text' => "◀️ Orqaga"]]
417 ]
418 ])
419 ]);
420}
421
422if ($data=='lessons') {
423 $b = mysqli_query($connect, "SELECT * FROM `category`");
424 $count = mysqli_num_rows($b);
425 for ($i=$count; $i>=1; $i--) {
426 $a = mysqli_fetch_assoc($b);
427 $key[] = ['callback_data' => "category_".$a['cat_name'], 'text' => $a['cat_name']];
428 }
429 $key = array_chunk($key, 3);
430 $back[] = [['text' => "◀️ Orqaga",'callback_data' => "back"]];
431 $key = array_merge($key, $back);
432 $key = json_encode(['inline_keyboard' => $key]);
433 $bot->editMessageText([
434 'chat_id' => $cid2,
435 'message_id' => $mid2,
436 'text' => "<b>Kerakli darslik to'plamini tanlang</b> ?",
437 'parse_mode' => "html",
438 'disable_web_page_preview' => true,
439 'reply_markup' => $key
440 ]);
441}
442
443if (stripos($data, 'category_')!==false) {
444 $category = explode("_", $data)[1];
445 $bot->editMessageText([
446 'chat_id' => $cid2,
447 'message_id' => $mid2,
448 'text' => "<b>$category</b>'ga oid Kitob, matnli va video darslarni tanlang ?",
449 'parse_mode' => "html",
450 'reply_markup' => json_encode([
451 'inline_keyboard' => [
452 [['callback_data' => "catt_".$category."_VIDEO", 'text' => "? Video"], ['callback_data' => "catt_".$category."_TEXT", 'text' => "? Matn"],['callback_data' => "catt_".$category."_BOOK", 'text' => "? Kitob"]],
453 [['callback_data' => "lessons", 'text' => "◀️ Orqaga"]]
454 ]
455 ])
456 ]);
457}
458
459if (stripos($data, 'catt_')!==false) {
460 $category = explode("_", $data)[1];
461 $type = explode("_", $data)[2];
462 $b = mysqli_query($connect, "SELECT * FROM `tutorials` WHERE category='$category' AND type='$type'");
463 $count = mysqli_num_rows($b);
464 if ($count>0) {
465 for ($i=$count; $i>=1; $i--) {
466 $a = mysqli_fetch_assoc($b);
467 $key[] = ['callback_data' => "content_".$a['category']."_".$a['id'], 'text' => $a['title']];
468 }
469 $key = array_chunk($key, 2);
470 $back[] = [['text' => "◀️ Orqaga",'callback_data' => "category_".$category]];
471 $key = array_merge($key, $back);
472 $key = json_encode(['inline_keyboard' => $key]);
473 $bot->editMessageText([
474 'chat_id' => $cid2,
475 'message_id' => $mid2,
476 'text' => "<b>Kerakli darslikni tanlang</b> ?",
477 'parse_mode' => "html",
478 'disable_web_page_preview' => true,
479 'reply_markup' => $key
480 ]);
481 }else{
482 $bot->answerCallbackQuery([
483 'callback_query_id' => $cqid,
484 'text' => "Natija topilmadi."
485 ]);
486 }
487}
488if (stripos($data, 'content_')!==false) {
489 $category = explode("_", $data)[1];
490 $id = explode("_", $data)[2];
491 $view = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `tutorials` WHERE category='$category' AND id='$id'"))['views'];
492 $add = $view+1;
493 mysqli_query($connect, "UPDATE `tutorials` SET views='$add' WHERE category='$category' AND id='$id'");
494 $b = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `tutorials` WHERE category='$category' AND id='$id'"));
495 if ($b['type']=="TEXT") {
496 $post = strip_tags($b['content'], "<a><b><i><code>");
497 $replaced = str_replace(["\r", " "], "", $post);
498 $post = preg_replace("/\n+/", "\n\n", $replaced);
499 if (strlen($post)<=4000) {
500 $content = "<b>".$b['title']." | ? ".$b['author']." | ? ".$b['views']."</b>\n\n".$post;
501 $bot->editMessageText([
502 'chat_id' => $cid2,
503 'message_id' => $mid2,
504 'text' => $content,
505 'parse_mode' => "html",
506 'disable_web_page_preview' => true,
507 'reply_markup' => json_encode([
508 'inline_keyboard' => [
509 [['callback_data' => "category_".$category, 'text' => "◀️ Orqaga"]]
510 ]
511 ])
512 ]);
513 }elseif (strlen($post)>4000) {
514 $link = "https://tutorials.uz/tutorial/".strtolower($b['category'])."/".$b['slug'];
515 $content = "<b>".$b['title']." | ? ".$b['author']." | ? ".$b['views']."</b>\n\n".$link;
516 $bot->editMessageText([
517 'chat_id' => $cid2,
518 'message_id' => $mid2,
519 'text' => $content,
520 'parse_mode' => "html",
521 'disable_web_page_preview' => true,
522 'reply_markup' => json_encode([
523 'inline_keyboard' => [
524 [['callback_data' => "category_".$category, 'text' => "◀️ Orqaga"]]
525 ]
526 ])
527 ]);
528 }
529
530 }elseif ($b['type']=="VIDEO" or $b['type']=="BOOK") {
531 $link = "https://tutorials.uz/tutorial/".strtolower($b['category'])."/".$b['slug'];
532 $content = "<b>".$b['title']." | ? ".$b['author']." | ? ".$b['views']."</b>\n\n".$link;
533 $bot->editMessageText([
534 'chat_id' => $cid2,
535 'message_id' => $mid2,
536 'text' => $content,
537 'parse_mode' => "html",
538 'disable_web_page_preview' => true,
539 'reply_markup' => json_encode([
540 'inline_keyboard' => [
541 [['callback_data' => "category_".$category, 'text' => "◀️ Orqaga"]]
542 ]
543 ])
544 ]);
545 }
546}
547
548if ($data=='blog') {
549 $a = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `blog` LIMIT 1"));
550 $img = str_replace("/var/www/us_uzproger/data/www/", "", $a['blog_post_img']);
551 $title = $a['blog_title'];
552 $author = $a['blog_post_author'];
553 $slug = $a['blog_post_slug'];
554 $views = $a['blog_views'];
555 $mid = $a['pid']+1;
556 $pid = $a['pid']-1;
557 $bot->editMessageText([
558 'chat_id' => $cid2,
559 'message_id' => $mid2,
560 'text' => "? ".$author." | ? ".$views."\n\n<b>? ".$title."</b>\n\n<a href='https://$img'> </a>",
561 'parse_mode' => "html",
562 'disable_web_page_preview' => false,
563 'reply_markup' => json_encode([
564 'inline_keyboard' => [
565 [['url' => "https://tutorials.uz/blog/".$slug, 'text' => "? Ba'tafsil"]],
566 [['callback_data' => "page_".$pid, 'text' => "◀️"], ['callback_data' => "page_".$mid, 'text' => "▶️"]],
567 [['callback_data' => "back", 'text' => "◀️ Orqaga"]],
568 ]
569 ])
570 ]);
571}
572
573if (stripos($data, "page_")!==false) {
574 $id = explode("_", $data)[1];
575 $a = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM `blog` WHERE pid='$id'"));
576 if ($a) {
577 $img = str_replace("/var/www/us_uzproger/data/www/", "", $a['blog_post_img']);
578 $title = $a['blog_title'];
579 $author = $a['blog_post_author'];
580 $slug = $a['blog_post_slug'];
581 $views = $a['blog_views'];
582 $mid = $id+1;
583 $pid = $id-1;
584 $bot->editMessageText([
585 'chat_id' => $cid2,
586 'message_id' => $mid2,
587 'text' => "? ".$author." | ? ".$views."\n\n<b>? ".$title."</b>\n\n<a href='https://$img'> </a>",
588 'parse_mode' => "html",
589 'disable_web_page_preview' => false,
590 'reply_markup' => json_encode([
591 'inline_keyboard' => [
592 [['url' => "https://tutorials.uz/blog/".$slug, 'text' => "? Ba'tafsil"]],
593 [['callback_data' => "page_".$pid, 'text' => "◀️"], ['callback_data' => "page_".$mid, 'text' => "▶️"]],
594 [['callback_data' => "back", 'text' => "◀️ Orqaga"]],
595 ]
596 ])
597 ]);
598 }else{
599 $bot->answerCallbackQuery([
600 'callback_query_id' => $cqid,
601 'text' => "Natija topilmadi."
602 ]);
603 }
604}
605
606if ($chat_id==$admin) {
607 if ($text=='/admin') {
608 $bot->sendMessage([
609 'chat_id' => $admin,
610 'text' => "<b>Assalomu Alaykum, Sobirjonov Sanjarbek.</b> ☺️",
611 'parse_mode' => "html",
612 'reply_markup' => json_encode([
613 'resize_keyboard' => true,
614 'keyboard' => [
615 [['text' => "Statistika"], ['text' => "Xabar Yuborish"]],
616 [['text' => "Kurslar"]]
617 ]
618 ])
619 ]);
620 }
621
622 if ($text=='Statistika') {
623 $stat = mysqli_num_rows(mysqli_query($connect, "SELECT id FROM `bot`"));
624 $course = mysqli_query($connect, "SELECT course_name, count_users FROM `courses`");
625 $zor = mysqli_num_rows(mysqli_query($connect, "SELECT id FROM `feedback` WHERE feedback='zor'"));
626 $nice = mysqli_num_rows(mysqli_query($connect, "SELECT id FROM `feedback` WHERE feedback='nice'"));
627 $bad = mysqli_num_rows(mysqli_query($connect, "SELECT id FROM `feedback` WHERE feedback='bad'"));
628 $bot->sendMessage([
629 'chat_id' => $admin,
630 'text' => "<b>Bot a'zolari soni:</b> $stat ta.\n\n<b>Bot baholashlar soni:</b>\n\"Hammasi zo'r ?\" - $zor\n\"Kamchiliklar bor ?\" = $nice\n\"Yomon ?\" = $bad",
631 'parse_mode' => "html",
632 'reply_markup' => json_encode([
633 'resize_keyboard' => true,
634 'keyboard' => [
635 [['text' => "Statistika"], ['text' => "Xabar Yuborish"]],
636 [['text' => "Kurslar"]]
637 ]
638 ])
639 ]);
640 }
641
642 if ($text == 'Xabar Yuborish') {
643 $bot->sendMessage([
644 'chat_id' => $admin,
645 'text' => "<b>Xabar matnini kiriting.</b>",
646 'parse_mode' => "html",
647 'reply_markup' => $bot->buildForceReply()
648 ]);
649 }
650
651 if ($rtext=='Xabar matnini kiriting.') {
652 file_put_contents("admin.matn", $text);
653 $bot->sendMessage([
654 'chat_id' => $admin,
655 'text' => "✅ <b>Matn qabul qilindi endi namuna bo'yicha inline tugmani yuboring!!!\n\nNamuna:</b>\n<code>Tutorials.uz + https://t.me/tutorialsuz</code>",
656 'parse_mode' => "html",
657 'reply_markup' => $bot->buildForceReply()
658 ]);
659}
660
661 if (mb_stripos($rtext, '✅ Matn qabul qilindi endi namuna bo\'yicha inline tugmani yuboring!')!==false) {
662 $matn = file_get_contents("admin.matn");
663 $i=0;
664 $keyboard = [];
665 $keyboard['inline_keyboard'] = [];
666 $rows = explode("\n", $text);
667 foreach ($rows as $row) {
668 $j=0;
669 $keyboard['inline_keyboard'][$i]=[];
670 $bottons = explode(",", $row);
671 foreach ($bottons as $botton) {
672 $data = explode("+", $botton."+");
673 $Ibotton = ['text' => trim($data[0]), 'url' => trim($data[1])];
674 $keyboard['inline_keyboard'][$i][$j] = $Ibotton;
675 $j++;
676 }
677 $i++;
678 }
679 $reply_markup = json_encode($keyboard);
680 $query = mysqli_query($connect, "SELECT `chat_id` FROM `bot`");
681 $count = mysqli_num_rows($query);
682 $chunker = array_chunk(mysqli_fetch_all($query, MYSQLI_ASSOC), 100);
683
684 for($i = 0; $i < count($chunker); $i++) {
685
686 for($init = 0; $init < count($chunker[$i]); $init++) {
687
688 $id = $chunker[$i][$init]['chat_id'];
689
690 $bot->sendMessage ([
691 'chat_id' => $id,
692 'text' => $matn,
693 'parse_mode' => "html",
694 'reply_markup' => ($reply_markup)
695 ]);
696
697 }
698
699 if($i == array_key_last($chunker)){
700
701 unlink("admin.matn");
702
703 $count = count($chunker) * 100;
704
705 $bot->sendMessage ([
706
707 'chat_id' => $admin,
708 'text' => "*Barcha, {$count}ta foydalanuvchiga xabar yuborildi!*",
709 'parse_mode' => "markdown",
710 'reply_markup' => json_encode([
711 'resize_keyboard' => true,
712 'keyboard' => [
713 [['text' => "Statistika"], ['text' => "Xabar Yuborish"]],
714 [['text' => "Kurslar"]]
715 ]
716 ])
717 ]);
718
719 }else {
720 break;
721 }
722
723 }
724
725 }
726 if($text=='Kurslar'){
727 $bot->sendMessage ([
728 'chat_id' => $admin,
729 'text' => "Kurslar:",
730 'reply_markup' => json_encode([
731 'resize_keyboard' => true,
732 'keyboard' => [
733 [['text' => "Kurs Qo'shish"], ['text' => "G'oliblar"]],
734 [['text' => "/admin"]]
735 ]
736 ])
737 ]);
738 }
739 if($text=='G\'oliblar'){
740 $b = mysqli_query($connect, "SELECT * FROM `courses`");
741 $count = mysqli_num_rows($b);
742 for ($i=$count; $i>=1; $i--) {
743 $a = mysqli_fetch_assoc($b);
744 $key[] = ['callback_data' => "win_".$a['course_id'], 'text' => $a['course_name']];
745 }
746 $key = array_chunk($key, 2);
747 $key = json_encode(['inline_keyboard' => $key]);
748 $bot->sendMessage([
749 'chat_id' => $admin,
750 'text' => "<b>Kurslar ro'yxati:</b>",
751 'parse_mode' => "html",
752 'disable_web_page_preview' => true,
753 'reply_markup' => $key
754 ]);
755 }
756 if ($text=='Kurs Qo\'shish') {
757 mysqli_query($connect, "UPDATE `bot` SET step='kurs_name' WHERE chat_id='$admin'");
758 $bot->sendMessage([
759 'chat_id' => $admin,
760 'text' => "Kurs nomini kiriting:"
761 ]);
762 }
763 if ($step=='kurs_name') {
764 file_put_contents("course.name", $text);
765 mysqli_query($connect, "UPDATE `bot` SET step='count_users' WHERE chat_id='$admin'");
766 $bot->sendMessage([
767 'chat_id' => $admin,
768 'text' => "Kursda necha kishi qatnashadi ?"
769 ]);
770 }
771 if ($step=='edit_time' and isset($text)) {
772 $id = file_get_contents("id.course");
773 mysqli_query($connect, "UPDATE `courses` SET end_time='$text' WHERE course_id='$id'");
774 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$admin'");
775 $bot->sendMessage([
776 'chat_id' => $admin,
777 'text' => "Barcha ma'lumotlar saqlandi."
778 ]);
779 unlink("id.course");
780 }
781
782 if ($step=='edit_users' and isset($text)) {
783 $id = file_get_contents("id.course");
784 mysqli_query($connect, "UPDATE `courses` SET count_users='$text' WHERE course_id='$id'");
785 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$admin'");
786 $bot->sendMessage([
787 'chat_id' => $admin,
788 'text' => "Barcha ma'lumotlar saqlandi."
789 ]);
790 unlink("id.course");
791 }
792
793 if ($step=='count_users') {
794 file_put_contents("count.users", $text);
795 mysqli_query($connect, "UPDATE `bot` SET step='end_time' WHERE chat_id='$admin'");
796 $bot->sendMessage([
797 'chat_id' => $admin,
798 'text' => "Kurs tugash vaqtini kiriting(M.U: 2020-01-13 18:00:01):"
799 ]);
800 }
801
802 if ($step=='shshsh') {
803 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$chat_id'");
804 $query = mysqli_query($connect, "SELECT * FROM `cache`");
805 while($a = mysqli_fetch_assoc($query)) {
806 $id = $a['chat_id'];
807 $bot->sendMessage ([
808 'chat_id' => $id,
809 'text' => $text,
810 'parse_mode' => "html"
811 ]);
812 }
813 $bot->sendMessage ([
814 'chat_id' => $admin,
815 'text' => "<b>Xabar yuborildi!</b>",
816 'parse_mode' => "html"
817 ]);
818 mysqli_query($connect, "TRUNCATE `cache`");
819 }
820
821 if ($step=='end_time') {
822 $course_name = file_get_contents("course.name");
823 $start_time = file_get_contents("count.users");
824 $end_time = $text;
825 mysqli_query($connect, "INSERT INTO `courses`(course_name, count_users, end_time) VALUES ('$course_name', '$start_time', '$end_time')");
826 mysqli_query($connect, "UPDATE `bot` SET step='' WHERE chat_id='$admin'");
827 $bot->sendMessage([
828 'chat_id' => $admin,
829 'text' => "Barcha ma'lumotlar saqlandi.",
830 'reply_markup' => json_encode([
831 'resize_keyboard' => true,
832 'keyboard' => [
833 [['text' => "Statistika"], ['text' => "Xabar Yuborish"]],
834 [['text' => "Kurslar"]]
835 ]
836 ])
837 ]);
838 unlink("course.name");
839 unlink("count.users");
840 }
841}
842if(stripos ($data, "win_")!==false){
843 $id = explode ("_", $data)[1];
844 mysqli_query($connect, "TRUNCATE `cache`");
845 $limit = mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM courses WHERE course_id='$id'"))['count_users'];
846 $f = mysqli_query($connect, "SELECT * FROM subscriber WHERE course_id='$id' ORDER BY RAND() LIMIT $limit");
847 $stat = mysqli_num_rows(mysqli_query($connect, "SELECT * FROM subscriber WHERE course_id='$id'"));
848 $course_id = mysqli_fetch_assoc(mysqli_query($connect, "SELECT course_id FROM subscriber WHERE course_id='$id'"))['course_id'];
849 $msg = "G'oliblar:\n\n";
850 while($a = mysqli_fetch_assoc($f)){
851 $cid = $a['chat_id'];
852
853 $msg .= "<a href='tg://user?id=$cid'>".$a['fullname']."</a> - ".$a['phone']."\n";
854 mysqli_query($connect, "INSERT INTO cache(chat_id) VALUES('$cid')");
855 }
856 $bot->editMessageText([
857 'chat_id' => $cid2,
858 'message_id' => $mid2,
859 'text' => $msg."\n?Jami a'zolar soni: <b>$stat ta</b>",
860 'parse_mode' => "html",
861 'reply_markup' => json_encode([
862 'inline_keyboard' => [
863 [['text' => "Xabar yuborish", 'callback_data' => "bdhdhddh"], ['text' => "Kursni o'chirish", 'callback_data' => "del_$id"]],
864 [['text' => "Kursni vaqtini chozish", 'callback_data' => "edit_time_$id"],['text' => "Qabul sonini ozgartirish", 'callback_data' => "edit_users_$id"]]
865 ]
866 ])
867 ]);
868 }
869
870 if($data=="bdhdhddh"){
871 mysqli_query($connect, "UPDATE `bot` SET step='shshsh' WHERE chat_id='$cid2'");
872 $bot->editMessageText([
873 'chat_id' => $cid2,
874 'message_id' => $mid2,
875 'text' => "Xabar matnini kiriting:",
876 'parse_mode' => "html"
877 ]);
878 }
879if(stripos ($data, "del_")!==false){
880 $id = explode ("_", $data)[1];
881 mysqli_query($connect, "TRUNCATE `cache`");
882 mysqli_query($connect, "DELETE FROM subscriber WHERE course_id='$id'");
883 mysqli_query($connect, "DELETE FROM courses WHERE course_id='$id'");
884 $bot->editMessageText([
885 'chat_id' => $cid2,
886 'message_id' => $mid2,
887 'text' => "✅O'chirildi!",
888 'parse_mode' => "html"
889 ]);
890 }
891
892 if(stripos ($data, "edit_")!==false){
893 $type = explode ("_", $data)[1];
894 $id = explode ("_", $data)[2];
895 mysqli_query($connect, "TRUNCATE `cache`");
896 file_put_contents("id.course", $id);
897 if($type=="time"){
898 mysqli_query($connect, "UPDATE `bot` SET step='edit_time' WHERE chat_id='$cid2'");
899 $tx = "Kurs tugash vaqtini kiriting(M.U: 2020-01-13 18:00:01):";
900 }else{
901 mysqli_query($connect, "UPDATE `bot` SET step='edit_users' WHERE chat_id='$cid2'");
902 $tx = "Kursda necha kishi qatnashadi ?";
903 }
904 $bot->editMessageText([
905 'chat_id' => $cid2,
906 'message_id' => $mid2,
907 'text' => $tx,
908 'parse_mode' => "html"
909 ]);
910 }