How to use sendFile method in fMBT

Best Python code snippet using fMBT_python

api.js

Source:api.js Github

copy

Full Screen

...241router.get('/cekapikey', async (req, res, next) => {242 var apikeyInput = req.query.apikey;243244 if(!apikeyInput) return res.json(loghandler.notparam)245 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)246 var limit = 'undefined'247 if (apikeyInput == `${key}`) { limit = 'Unlimited!' }248249try {250 res.json({251 status : `active`,252 apikey : apikeyInput,253 limit : limit254 })255 256} catch (e) {257 res.sendFile(error)258 }259})260261router.get('/changekey', (req, res, next) => {262 var apikeyInput = req.query.apikey;263264 if (!apikeyInput) return res.json(loghandler.notparam)265 if (apikeyInput !== `${key}`) return res.sendFile(invalidKey)266267 try {268 kuhong.insert({269 apikey: apikeyInput270 })271 .then(() => {272 res.json({273 status: true,274 result: `Apikey "${apikeyInput}" Berhasil ditambahkan!`275 })276 })277 } catch (e) {278 console.log(e)279 res.sendFile(error)280 }281})282283router.get('/removekey', (req, res, next) => {284 var apikeyInput = req.query.apikey;285286 if (!apikeyInput) return res.json(loghandler.notparam)287 if (apikeyInput !== `${key}`) return res.sendFile(invalidKey)288289 try {290 kuhong.remove({291 apikey: apikeyInput292 })293 .then(() => {294 res.json({295 status: true,296 result: `Apikey "${apikeyInput}" Berhasil dihapus!`297 })298 })299 } catch (e) {300 console.log(e)301 res.sendFile(error)302 }303})304305router.get('/tiktod', async (req, res, next) => {306 var apikeyInput = req.query.apikey,307 url = req.query.url308309310 if(!apikeyInput) return res.json(loghandler.notparam)311 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)312 if (!url) return res.json(loghandler.noturl)313314 TikTokScraper.getVideoMeta(url, options)315 .then(vid => {316 console.log(vid)317 res.json({318 status: true,319 creator: `${creator}`,320 videoNoWm: vid321 })322 })323 .catch(e => {324 res.json(loghandler.invalidLink)325 })326})327328router.get('/tiktod/stalk', async (req, res, next) => {329 var apikeyInput = req.query.apikey,330 username = req.query.username331332 if(!apikeyInput) return res.json(loghandler.notparam)333 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)334 if (!username) return res.json(loghandler.notusername)335336337 TikTokScraper.getUserProfileInfo(username)338 .then(user => {339 res.json({340 status : true,341 creator : `${creator}`,342 result : user343 })344 })345 .catch(e => {346 res.json({347 status : false,348 creator : `${creator}`,349 message : "Username tidak ditemukan!"350 })351 })352})353354router.get('/randomquote', async (req, res, next) => {355 var apikeyInput = req.query.apikey356 357 if(!apikeyInput) return res.json(loghandler.notparam)358 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)359360 fetch(encodeURI(`https://api.zeks.xyz/api/quote?apikey=alpin1234567`))361 .then(response => response.json())362 .then(data => {363 var result = data;364 res.json({365 creator : `${creator}`,366 result367 })368 })369 .catch(e => {370 res.sendFile(error)371})372})373374375router.get('/infonpm', async (req, res, next) => {376 var apikeyInput = req.query.apikey,377 query = req.query.query378 379 if(!apikeyInput) return res.json(loghandler.notparam)380 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)381 if (!query) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter query"})382383 fetch(encodeURI(`https://registry.npmjs.org/${query}`))384 .then(response => response.json())385 .then(data => {386 var result = data;387 res.json({388 status : true,389 creator : `${creator}`,390 result,391 message : `jangan lupa Subscribe Youtube ${creator}`392 })393 })394 .catch(e => {395 res.sendFile(error)396})397})398399router.get('/jadwal-bioskop', (req, res) => {400var apikeyInput = req.query.apikey401402if(!apikeyInput) return res.json(loghandler.notparam)403if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)404const cheerio = require('cheerio')405406axios.get('https://jadwalnonton.com/now-playing')407.then(({ data }) => {408 const $ = cheerio.load(data)409 var title = []410 var url = []411 var img = []412 $('div.row > div.item > div.clearfix > div.rowl > div.col-xs-6 > a').get().map((rest) => {413 url.push($(rest).attr('href'))414 })415 $('div.row > div.item > div.clearfix > div.rowl > div.col-xs-6 > a > img').get().map((rest) => {416 title.push($(rest).attr('alt'))417 })418 $('div.row > div.item > div.clearfix > div.rowl > div.col-xs-6 > a > img').get().map((rest) => {419 img.push($(rest).attr('src'))420 })421 var result = []422 for (var i = 0; i < url.length; i++) {423 result.push({424 url: url[i],425 title: title[i],426 img: img[i]427 })428 }429 res.send({430 creator: `${creator}`,431 status: true,432 result: result433 })434 })435})436437438router.get('/short/tiny', async (req, res, next) => {439 var apikeyInput = req.query.apikey,440 url = req.query.url441442 if(!apikeyInput) return res.json(loghandler.notparam)443 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)444 if (!url) return res.json(loghandler.noturl)445446 request(`https://tinyurl.com/api-create.php?url=${url}`, function (error, response, body) {447 try {448 res.json({449 status : true,450 creator : `${creator}`,451 result : {452 link : `${body}`,453 },454 message : `jangan lupa Subscribe Youtube ${creator}`455 })456 } catch (e) {457 console.log('Error :', color(e,'red'))458 res.json(loghandler.invalidLink)459 }460 })461})462463router.get('/base', async (req, res, next) => {464 var type = req.query.type,465 encode = req.query.encode,466 decode = req.query.decode,467 apikeyInput = req.query.apikey;468 if (!apikeyInput) return res.json(loghandler.notparam)469 if (apikeyInput !== `${key}`) return res.sendFile(invalidKey)470 if (!type) return res.json({status: false, creator, code: 404, message: 'Masukan parameter type, type yang tersedia : base4 , base32'})471 if (type == 'base64' && encode){472 Base("b64enc", encode)473 .then(result => {474 res.json({475 status:true,476 creator: `${creator}`,477 result478 })479 })480 } else if (type == 'base64' && decode){481 Base("b64dec", decode)482 .then(result => {483 res.json({484 status: true,485 creator: `${creator}`,486 result487 })488 })489 } else if (type == 'base32' && encode){490 Base('b32enc', encode)491 .then(result => {492 res.json({493 status:true,494 creator: `${creator}`,495 result496 })497 })498 } else if (type == 'base32' && decode){499 Base('b32dec', decode)500 .then(result => {501 res.json({502 status:true,503 creator: `${creator}`,504 result505 })506 })507 } else if(!(encode || decode)){508 res.json({509 status:false,510 creator: `${creator}`,511 message: "tambahkan parameter encode/decode"512 })513 } else {514 res.sendFile(error)515 }516})517518router.get('/nulis', async (req, res, next) => {519 var apikeyInput = req.query.apikey,520 text = req.query.text521 522 if(!apikeyInput) return res.json(loghandler.notparam)523 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)524 if (!text) return res.json(loghandler.nottext)525526 try {527 var fontPath = __path + '/lib/font/Zahraaa.ttf'528 var inputPath = __path + '/lib/kertas/nulis.jpg'529 var outputPath = __path + '/tmp/hasil.jpg'530 spawn('convert', [531 inputPath,532 '-font',533 fontPath,534 '-size',535 '700x960',536 '-pointsize',537 '30',538 '-interline-spacing',539 '-7',540 '-annotate',541 '+170+222',542 text,543 outputPath544 ])545 .on('error', () => console.log('Error Nulis'))546 .on('exit', () =>547 {548 res.sendFile(outputPath)549 })550 } catch (e) {551 console.log(e);552 res.json(loghandler.erorr)553 }554})555556router.get('/nulis2', async (req, res, next) => {557 var apikeyInput = req.query.apikey,558 text = req.query.text559 560 if(!apikeyInput) return res.json(loghandler.notparam)561 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)562 if (!text) return res.json(loghandler.nottext)563564 try {565 var d = new Date566 var tgl = d.toLocaleDateString('id-Id')567 var hari = d.toLocaleDateString('id-Id', { weekday: 'long' })568 var fontPath = __path + '/lib/font/Zahraaa.ttf'569 var inputPath = __path + '/lib/kertas/nulis2.jpg'570 var outputPath = __path + '/tmp/hasil2.jpg'571 spawn('convert', [572 inputPath,573 '-font',574 fontPath,575 '-size',576 '1024x784',577 '-pointsize',578 '20',579 '-interline-spacing',580 '1',581 '-annotate',582 '+806+78',583 hari,584 '-font',585 fontPath,586 '-size',587 '1024x784',588 '-pointsize',589 '18',590 '-interline-spacing',591 '1',592 '-annotate',593 '+806+102',594 tgl,595 '-font',596 fontPath,597 '-size',598 '1024x784',599 '-pointsize',600 '20',601 '-interline-spacing',602 '-7.5',603 '-annotate',604 '+344+142',605 text,606 outputPath607 ])608 .on('error', () => console.log('Error Nulis2'))609 .on('exit', () => {610611 res.sendFile(outputPath)612 })613 } catch (e) {614 console.log(e);615 res.json(loghandler.erorr)616 }617})618619router.get('/textmaker', async (req, res, next) => {620 var theme = req.query.theme,621 text = req.query.text,622 text2 = req.query.text2,623 text3 = req.query.text3,624 apikeyInput = req.query.apikey;625 626 if(!apikeyInput) return res.json(loghandler.notparam)627 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)628 if (!theme) return res.json(loghandler.nottheme)629 if (theme != 'glitch' && theme != 'google-suggestion') return res.json(loghandler.notheme)630 if (!text) return res.json(loghandler.nottext)631632 if (theme == 'glitch') {633 if (!text2) return res.json(loghandler.nottext2)634 try {635 request.post({636 url: "https://photooxy.com/logo-and-text-effects/make-tik-tok-text-effect-375.html",637 headers: {638 'Content-Type': 'application/x-www-form-urlencoded'639 },640 body: `text_1=${text}&text_2=${text2}&login=OK`,641 }, (e,r,b) => {642 if (!e) {643 $ = cheerio.load(b)644 $(".thumbnail").find("img").each(function() {645 h = $(this).attr("src")646 var result = "https://photooxy.com/"+h647 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))648 .then(response => response.json())649 .then(data => {650 res.json({651 status : true,652 creator : creator,653 result : data.data.url654 })655 })656 })657 }658 })659 } catch (e) {660 console.log(e);661 res.sendFile(error)662 }663 } else if (theme == 'google-suggestion') {664 if (!text2) return res.json(loghandler.nottext2)665 if (!text3) return res.json(loghandler.nottext3)666 request.post({667 url: "https://photooxy.com/other-design/make-google-suggestion-photos-238.html",668 headers: {669 'Content-Type': 'application/x-www-form-urlencoded'670 },671 body: `text_1=${text}&text_2=${text2}&text_3=${text3}&login=OK`,672 }, (e,r,b) => {673 if (!e) {674 $ = cheerio.load(b)675 $(".thumbnail").find("img").each(function() {676 h = $(this).attr("src")677 var result = "https://photooxy.com/"+h678 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))679 .then(response => response.json())680 .then(data => {681 var urlnya = data.data.url,682 devare_url = data.data.devare_url;683 res.json({684 status : true,685 creator : `${creator}`,686 message : `jangan lupa Subscribe Youtube ${creator}`,687 result:{688 url:urlnya,689 devare_url: devare_url,690 info: 'url akan hilang setelah 2 menit'691 }692 })693 })694 })695 }696 }) 697 } else {698 res.sendFile(error)699 }700})701702router.get('/textmaker/game', async (req, res, next) => {703 var theme = req.query.theme,704 text = req.query.text,705 text2 = req.query.text2,706 text3 = req.query.text3,707 apikeyInput = req.query.apikey;708 709 if(!apikeyInput) return res.json(loghandler.notparam)710 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)711 if (!theme) return res.json(loghandler.nottheme)712 if (theme != 'pubg' && theme != 'battlefield') return res.json(loghandler.notheme)713 if (!text) return res.json(loghandler.nottext)714715 if (theme == 'pubg') {716 if (!text2) return rs.jso(loghandler.nottext2)717 try {718 request.post({719 url: "https://photooxy.com/battlegrounds/make-wallpaper-battlegrounds-logo-text-146.html",720 headers: {721 'Content-Type': 'application/x-www-form-urlencoded'722 },723 body: `text_1=${text}&text_2=${text2}&login=OK`,724 }, (e,r,b) => {725 if (!e) {726 $ = cheerio.load(b)727 $(".thumbnail").find("img").each(function() {728 h =$(this).attr("src")729 var result = "https://photooxy.com/"+h730 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))731 .then(response => response.json())732 .then(data => {733 var urlnya = data.data.url,734 devare_url = data.data.devare_url;735 res.json({736 status : true,737 creator : `${creator}`,738 message : `jangan lupa Subscribe Youtube ${creator}`,739 result:{740 url:urlnya,741 devare_url: devare_url,742 info: 'url akan hilang setelah 2 menit'743 }744 })745 })746 })747 }748 })749 } catch (e) {750 console.log(e);751 res.sendFile(error)752 }753 } else if (theme == 'battlefield') {754 if (!text2) return res.json(loghandler.nottext2)755 request.post({756 url: "https://photooxy.com/fps-game-effect/create-battlefield-4-rising-effect-152.html",757 headers: {758 'Content-Type': 'application/x-www-form-urlencoded'759 },760 body: `text_1=${text}&text_2=${text2}&login=OK`,761 }, (e,r,b) => {762 if (!e) {763 $ = cheerio.load(b)764 $(".thumbnail").find("img").each(function() {765 h = $(this).attr("src")766 var result = "https://photooxy.com/"+h767 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))768 .then(response => response.json())769 .then(data => {770 var urlnya = data.data.url,771 devare_url = data.data.devare_url;772 res.json({773 status : true,774 creator : `${creator}`,775 message : `jangan lupa Subscribe Youtube ${creator}`,776 result:{777 url:urlnya,778 devare_url: devare_url,779 info: 'url akan hilang setelah 2 menit'780 }781 })782 })783 })784 }785 }) 786 } else {787 res.sendFile(error)788 }789})790791router.get('/textmaker/senja', async (req, res, next) => {792 var theme = req.query.theme,793 text = req.query.text,794 text2 = req.query.text2,795 text3 = req.query.text3,796 apikeyInput = req.query.apikey;797 798 if(!apikeyInput) return res.json(loghandler.notparam)799 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)800 if (!theme) return res.json(loghandler.nottheme)801 if (theme != 'coffee-cup' && theme != 'coffee-cup2') return res.json(loghandler.notheme)802 if (!text) return res.json(loghandler.nottext)803804 if (theme == 'coffee-cup') {805 try {806 request.post({807 url: "https://photooxy.com/logo-and-text-effcts/put-any-text-in-to-coffee-cup-371.html",808 headers: {809 'Content-Type': 'application/x-www-form-urlencoded'810 },811 body: `text_1=${text}&login=OK`,812 }, (e,r,b) => {813 if (!e) {814 $ = cheerio.load(b)815 $(".thumbnail").find("img").each(function() {816 h = $(this).attr("src")817 var result = "https://photooxy.com/"+h818 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))819 .then(response => response.json())820 .then(data => {821 var urlnya = data.data.url,822 devare_url = data.data.devare_url;823 res.json({824 status : true,825 creator : `${creator}`,826 message : `jangan lupa Subscribe Youtube ${creator}`,827 result:{828 url:urlnya,829 devare_url: devare_url,830 info: 'url akan hilang setelah 2 menit'831 }832 })833 })834 })835 }836 })837 } catch (e) {838 console.log(e);839 res.sendFile(error)840 }841 } else if (theme == 'coffee-cup2') {842 request.post({843 url: "https://photooxy.com/logo-and-text-effects/put-your-text-on-a-coffee-cup--174.html",844 headers: {845 'Content-Type': 'application/x-www-form-urlencoded'846 },847 body: `text_1=${text}&login=OK`,848 }, (e,r,b) => {849 if (!e) {850 $ = cheerio.load(b)851 $(".thumbnail").find("img").each(function() {852 h = $(this).attr("src")853 var result = "https://photooxy.com/"+h854 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))855 .then(response => response.json())856 .then(data => {857 var urlnya = data.data.url,858 devare_url = data.data.devare_url;859 res.json({860 status : true,861 creator : `${creator}`,862 message : `jangan lupa Subscribe Youtube ${creator}`,863 result:{864 url:urlnya,865 devare_url: devare_url,866 info: 'url akan hilang setelah 2 menit'867 }868 })869 })870 })871 }872 }) 873 } else {874 res.sendFile(error)875 }876})877878router.get('/kisahnabi', async (req, res, next) => {879 var nabi = req.query.nabi,880 apikeyInput = req.query.apikey;881882 if (!apikeyInput) return res.json(loghandler.notparam)883 if (apikeyInput !== `${key}`) return res.sendFile(invalidKey)884 Searchnabi(nabi)885 .then(result => {886 res.json({887 creator: creator,888 result889 })890 })891 .catch(e => {892 console.log('Error :', color(e, 'red'))893 res.sendFile(error)894 })895})896897router.get('/infogempa', async (req, res, next) => {898 var apikeyInput = req.query.apikey899900 if (!apikeyInput) return res.json(loghandler.notparam)901 if (apikeyInput !== `${key}`) return res.sendFile(invalidKey)902 Gempa()903 .then(result => {904 res.json({905 creator: creator,906 result907 })908 })909 .catch(e => {910 console.log('Error :', color(e, 'red'))911 res.sendFile(error)912 })913})914915router.get('/hadits', async (req, res, next) => {916 var apikeyInput = req.query.apikey,917 kitab = req.query.kitab,918 nomor = req.query.nomor919 920 if(!apikeyInput) return res.json(loghandler.notparam)921 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)922 if (!kitab) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kitab"})923 if (!nomor) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nomor"})924925 fetch(encodeURI(`https://hadits-api-zhirrr.vercel.app/books/${kitab}/${nomor}`))926 .then(response => response.json())927 .then(data => {928 var result = data;929 res.json({930 result931 })932 })933 .catch(e => {934 res.sendFile(error)935 })936})937 938router.get('/quran', async (req, res, next) => {939 var apikeyInput = req.query.apikey,940 surah = req.query.surah,941 ayat = req.query.ayat942 943 if(!apikeyInput) return res.json(loghandler.notparam)944 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)945 if (!surah) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter surah"})946 if (!ayat) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter ayat"})947948 fetch(encodeURI(`https://alquran-apiii.vercel.app/surah/${surah}/${ayat}`))949 .then(response => response.json())950 .then(data => {951 var result = data;952 res.json({953 result954 })955 })956 .catch(e => {957 res.sendFile(error)958})959})960961962router.get('/fbdown', async (req, res, next) => {963 var apikeyInput = req.query.apikey,964 url = req.query.url965 966 if(!apikeyInput) return res.json(loghandler.notparam)967 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)968 if (!url) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter url"})969970 fetch(encodeURI(`https://fb-api-zhirrr.vercel.app/?url=${url}`))971 .then(response => response.json())972 .then(data => {973 var result = data;974 res.json({975 result976 })977 })978 .catch(e => {979 res.sendFile(error)980})981})982983984router.get('/textmaker/metallic', async (req, res, next) => {985 var theme = req.query.theme,986 text = req.query.text,987 text2 = req.query.text2,988 text3 = req.query.text3,989 apikeyInput = req.query.apikey;990 991 if(!apikeyInput) return res.json(loghandler.notparam)992 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)993 if (!theme) return res.json(loghandler.nottheme)994 if (theme != 'neon' && theme != 'glow') return res.json(loghandler.notheme)995 if (!text) return res.json(loghandler.nottext)996997 if (theme == 'neon') {998 try {999 request.post({1000 url: "https://photooxy.com/logo-and-text-effects/illuminated-metallic-effect-177.html",1001 headers: {1002 'Content-Type': 'application/x-www-form-urlencoded'1003 },1004 body: `text_1=${text}&login=OK`,1005 }, (e,r,b) => {1006 if (!e) {1007 $ = cheerio.load(b)1008 $(".thumbnail").find("img").each(function() {1009 h = $(this).attr("src")1010 var result = "https://photooxy.com/"+h1011 fetch(encodeURI(`https://api.imgbb.om/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))1012 .then(response => response.json())1013 .then(data => {1014 var urlnya = data.data.url,1015 devare_url = data.data.devare_url;1016 res.json({1017 status : true,1018 creator : `${creator}`,1019 message : `jangan lupa Subscribe Youtube ${creator}`,1020 result:{1021 url:urlnya,1022 devare_url: devare_url,1023 info: 'url akan hilang setelah 2 menit'1024 }1025 })1026 })1027 })1028 }1029 })1030 } catch (e) {1031 console.log(e);1032 res.sendFile(error)1033 }1034 } else if (theme == 'glow') {1035 request.post({1036 url: "https://photooxy.com/other-design/create-metallic-text-glow-online-188.html",1037 headers: {1038 'Content-Type': 'application/x-www-form-urlencoded'1039 },1040 body: `text_1=${text}&login=OK`,1041 }, (e,r,b) => {1042 if (!e) {1043 $ = cheerio.load(b)1044 $(".thumbnail").find("img").each(function() {1045 h = $(this).attr("src")1046 var result = "https://photooxy.com/"+h1047 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))1048 .then(response => response.json())1049 .then(data => {1050 var urlnya = data.data.url,1051 devare_url = data.data.devare_url;1052 res.json({1053 status : true,1054 creator : `${creator}`,1055 message : `jangan lupa Subscribe Youtube ${creator}`,1056 result:{1057 url:urlnya,1058 devare_url: devare_url,1059 info: 'url akan hilang setelah 2 menit'1060 }1061 })1062 })1063 })1064 }1065 }) 1066 } else {1067 res.sendFile(error)1068 }1069})10701071router.get('/textmaker/alam', async (req, res, next) => {1072 var theme = req.query.theme,1073 text = req.query.text,1074 text2 = req.query.text2,1075 text3 = req.query.text3,1076 apikeyInput = req.query.apikey;1077 1078 if(!apikeyInput) return res.json(loghandler.notparam)1079 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1080 if (!theme) return res.json(loghandler.nottheme)1081 if (theme != 'summer' && theme != 'flower') return res.json(loghandler.notheme)1082 if (!text) return res.json(loghandler.nottext)10831084 if (theme == 'summer') {1085 try {1086 request.post({1087 url: "https://photooxy.com/logo-and-text-effects/3d-summer-text-effect-367.html",1088 headers: {1089 'Content-Type': 'application/x-www-form-urlencoded'1090 },1091 body: `text_1=${text}&login=OK`,1092 }, (e,r,b) => {1093 if (!e) {1094 $ = cheerio.load(b)1095 $(".thumbnai").find("img").each(function() {1096 h = $(this).attr("src")1097 var result = "https://photooxy.com/"+h1098 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))1099 .then(response => response.json())1100 .then(data => {1101 var urlnya = data.data.url,1102 devare_url = data.data.devare_url;1103 res.json({1104 status : true,1105 creator : `${creator}`,1106 message : `jangan lupa Subscribe Youtube ${creator}`,1107 result:{1108 url:urlnya,1109 devare_url: devare_url,1110 info: 'url akan hilang setelah 2 menit'1111 }1112 })1113 })1114 })1115 }1116 })1117 } catch (e) {1118 console.log(e);1119 res.sendFile(error)1120 }1121 } else if (theme == 'flower') {1122 request.post({1123 url: "https://photooxy.com/art-effects/flower-typography-text-effect-164.html",1124 headers: {1125 'Content-Type': 'application/x-www-form-urlencoded'1126 },1127 body: `text_1=${text}&login=OK`,1128 }, (e,r,b) => {1129 if (!e) {1130 $ = cheerio.load(b)1131 $(".thumbnail").find("img").each(function() {1132 h = $(this).attr("src")1133 var result = "https://photooxy.com/"+h1134 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))1135 .then(response => response.json())1136 .then(data => {1137 var urlnya = data.data.url,1138 devare_url = data.data.devare_url;1139 res.json({1140 status : true,1141 creator : `${creator}`,1142 message : `jangan lupa Subscribe Youtube ${creator}`,1143 result:{1144 url:urlnya,1145 devare_url: devare_url,1146 info: 'url akan hilang setelah 2 menit'1147 }1148 })1149 })1150 })1151 }1152 }) 1153 } else {1154 res.sendFile(error)1155 }1156})11571158router.get('/flaming', async (req, res, next) => {1159 var text = req.query.text,1160 apikeyInput = req.query.apikey;1161 1162 if(!apikeyInput) return res.json(loghandler.notparam)1163 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1164 if (!text) return res.json(loghandler.nottext)11651166 try {1167 var json = await (await fetch(`http://zekais-api.herokuapp.com/photooxy/flaming?text=${text}`)).json()1168 var buffer = await (await fetch(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${json.result}&name=ZeroYT7`)).json()1169 await fs.writeFileSync(__path + '/tmp/flaming.png', await getBuffer(buffer.data.url))1170 1171 res.sendFile(__path + '/tmp/flaming.png')1172 } catch (e) {1173 console.log(e);1174 res.sendFile(error)1175 }1176})11771178router.get('/neon', async (req, res, next) => {1179 var text = req.query.text,1180 apikeyInput = req.query.apikey;1181 1182 if(!apikeyInput) return res.json(loghandler.notparam)1183 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1184 if (!text) return res.json(loghandler.nottext)11851186 try {1187 var json = await (await fetch(`http://zekais-api.herokuapp.com/photooxy/neon?text=${text}`)).json()1188 var buffer = await (await fetch(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${json.result}&name=ZeroYT7`)).json()1189 await fs.writeFileSync(__path + '/tmp/neon.png', await getBuffer(buffer.data.url))1190 1191 res.sendFile(__path + '/tmp/neon.png')1192 } catch (e) {1193 console.log(e);1194 res.sendFile(error)1195 }1196})11971198router.get('/muslim/tahlil', async (req, res, next) => {1199 var apikeyInput = req.query.apikey1200 1201 if(!apikeyInput) return res.json(loghandler.notparam)1202 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)12031204 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataTahlil.json`))1205 .then(response => response.json())1206 .then(data => {1207 var result = data;1208 res.json({1209 result1210 })1211 })1212 .catch(e => {1213 res.sendFile(error)1214})1215})121612171218router.get('/muslim/wirid', async (req, res, next) => {1219 var apikeyInput = req.query.apikey1220 1221 if(!apikeyInput) return res.json(loghandler.notparam)1222 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)12231224 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataWirid.json`))1225 .then(response => response.json())1226 .then(data => {1227 var result = data;1228 res.json({1229 result1230 })1231 })1232 .catch(e => {1233 res.sendFile(error)1234})1235})123612371238router.get('/muslim/ayatkursi', async (req, res, next) => {1239 var apikeyInput = req.query.apikey1240 1241 if(!apikeyInput) return res.json(loghandler.notparam)1242 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)12431244 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataAyatKursi.json`))1245 .then(response => response.json())1246 .then(data => {1247 var result = data;1248 res.json({1249 result1250 })1251 })1252 .catch(e => {1253 res.sendFile(error)1254})1255})125612571258router.get('/muslim/doaharian', async (req, res, next) => {1259 var apikeyInput = req.query.apikey1260 1261 if(!apikeyInput) return res.json(loghandler.notparam)1262 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)12631264 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataDoaHarian.json`))1265 .then(response => response.json())1266 .then(data => {1267 var result = data;1268 res.json({1269 result1270 })1271 })1272 .catch(e => {1273 res.sendFile(error)1274})1275})127612771278router.get('/muslim/bacaanshalat', async (req, res, next) => {1279 var apikeyInput = req.query.apikey1280 1281 if(!apikeyInput) return res.json(loghandler.notparam)1282 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)12831284 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataBacaanShalat.json`))1285 .then(response => response.json())1286 .then(data => {1287 var result = data;1288 res.json({1289 result1290 })1291 })1292 .catch(e => {1293 res.sendFile(error)1294})1295})129612971298router.get('/muslim/niatshalat', async (req, res, next) => {1299 var apikeyInput = req.query.apikey1300 1301 if(!apikeyInput) return res.json(loghandler.notparam)1302 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)13031304 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataNiatShalat.json`))1305 .then(response => response.json())1306 .then(data => {1307 var result = data;1308 res.json({1309 result1310 })1311 })1312 .catch(e => {1313 res.sendFile(error)1314})1315})131613171318router.get('/muslim/kisahnabi', async (req, res, next) => {1319 var apikeyInput = req.query.apikey1320 1321 if(!apikeyInput) return res.json(loghandler.notparam)1322 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)13231324 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataKisahNabi.json`))1325 .then(response => response.json())1326 .then(data => {1327 var result = data;1328 res.json({1329 result1330 })1331 })1332 .catch(e => {1333 res.sendFile(error)1334})1335})133613371338router.get('/muslim/asmaulhusna', async (req, res, next) => {1339 var apikeyInput = req.query.apikey1340 1341 if(!apikeyInput) return res.json(loghandler.notparam)1342 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)13431344 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/dataAsmaulHusna.json`))1345 .then(response => response.json())1346 .then(data => {1347 var result = data;1348 res.json({1349 result1350 })1351 })1352 .catch(e => {1353 res.sendFile(error)1354})1355})135613571358router.get('/muslim/niatshubuh', async (req, res, next) => {1359 var apikeyInput = req.query.apikey1360 1361 if(!apikeyInput) return res.json(loghandler.notparam)1362 if(apikeyInput !== `${key}`) return res.jon(loghandler.invalidKey)13631364 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/NiatShubuh.json`))1365 .then(response => response.json())1366 .then(data => {1367 var result = data;1368 res.json({1369 result1370 })1371 })1372 .catch(e => {1373 res.sendFile(error)1374})1375})137613771378router.get('/muslim/niatdzuhur', async (req, res, next) => {1379 var apikeyInput = req.query.apikey1380 1381 if(!apikeyInput) return res.json(loghandler.notparam)1382 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)13831384 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/NiatDzuhur.json`))1385 .then(response => response.json())1386 .then(data => {1387 var result = data;1388 res.json({1389 result1390 })1391 })1392 .catch(e => {1393 res.sendFile(error)1394})1395})139613971398router.get('/muslim/niatmaghrib', async (req, res, next) => {1399 var apikeyInput = req.query.apikey1400 1401 if(!apikeyInput) return res.json(loghandler.notparam)1402 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)14031404 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/NiatMaghrib.json`))1405 .then(response => response.json())1406 .then(data => {1407 var result = data;1408 res.json({1409 result1410 })1411 })1412 .catch(e => {1413 res.sendFile(error)1414})1415})141614171418router.get('/muslim/niatisya', async (req, res, next) => {1419 var apikeyInput = req.query.apikey1420 1421 if(!apikeyInput) return res.json(loghandler.notparam)1422 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)14231424 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/NiatIsya.json`))1425 .then(response => response.json())1426 .then(data => {1427 var result = data;1428 res.json({1429 result1430 })1431 })1432 .catch(e => {1433 res.sendFile(error)1434})1435})143614371438router.get('/muslim/niatashar', async (req, res, next) => {1439 var apikeyInput = req.query.apikey1440 1441 if(!apikeyInput) return res.json(loghandler.notparam)1442 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)14431444 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/data/NiatAshar.json`))1445 .then(response => response.json())1446 .then(data => {1447 var result = data;1448 res.json({1449 result1450 })1451 })1452 .catch(e => {1453 res.sendFile(error)1454})1455})145614571458router.get('/wallpaper/cyberspace', async (req, res, next) => {1459 var apikeyInput = req.query.apikey1460 1461 if(!apikeyInput) return res.json(loghandler.notparam)1462 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)14631464 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/CyberSpace.json`))1465 .then(response => response.json())1466 .then(data => {1467 var result = data;1468 res.json({1469 result1470 })1471 })1472 .catch(e => {1473 res.sendFile(error)1474})1475})147614771478router.get('/wallpaper/teknologi', async (req, res, next) => {1479 var apikeyInput = req.query.apikey1480 1481 if(!apikeyInput) return res.json(loghandler.notparam)1482 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)14831484 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/Technology.json`))1485 .then(response => response.json())1486 .then(data => {1487 var result = data;1488 res.json({1489 result1490 })1491 })1492 .catch(e => {1493 res.sendFile(error)1494})1495})149614971498router.get('/wallpaper/muslim', async (req, res, next) => {1499 var apikeyInput =req.query.apikey1500 1501 if(!apikeyInput) return res.json(loghandler.notparam)1502 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)15031504 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/Islamic.json`))1505 .then(response => response.json())1506 .then(data => {1507 var result = data;1508 res.json({1509 result1510 })1511 })1512 .catch(e => {1513 res.sendFile(error)1514})1515})151615171518router.get('/wallpaper/programming', async (req, res, next) => {1519 var apikeyInput = req.query.apikey1520 1521 if(!apikeyInput) return res.json(loghandler.notparam)1522 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)15231524 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQL-Results/main/Programming.json`))1525 .then(response => response.json())1526 .then(data => {1527 var result = data;1528 res.json({1529 result1530 })1531 })1532 .catch(e => {1533 res.sendFile(error)1534})1535})153615371538router.get('/wallpaper/pegunungan', async (req, res, next) => {1539 var apikeyInput = req.query.apikey1540 1541 if(!apikeyInput) return res.json(loghandler.notparam)1542 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)15431544 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/My-SQ-Results/main/Mountain.json`))1545 .then(response => response.json())1546 .then(data => {1547 var result = data;1548 res.json({1549 result1550 })1551 })1552 .catch(e => {1553 res.sendFile(error)1554})1555})155615571558router.get('/wikipedia', async (req, res, next) => {1559 var apikeyInput = req.query.apikey,1560 search = req.query.search1561 1562 if(!apikeyInput) return res.json(loghandler.notparam)1563 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1564 if(!search) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter search"})15651566 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/wiki?keyword=${search}`))1567 .then(response => response.json())1568 .then(data => {1569 var result = data;1570 res.json({1571 result1572 })1573 })1574 .catch(e => {1575 res.sendFile(error)1576})1577})15781579router.get('/randomquote/muslim', async (req, res, next) => {1580 var apikeyInput = req.query.apikey1581 1582 if(!apikeyInput) return res.json(loghandler.notparam)1583 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)15841585 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/quote?type=agamis`))1586 .then(response => response.json())1587 .then(data => {1588 var result = data;1589 res.json({1590 result1591 })1592 })1593 .catch(e => {1594 res.sendFile(error)1595})1596})159715981599router.get('/drakorasia', async (req, res, next) => {1600 var apikeyInput = req.query.apikey,1601 search = req.query.searc1602 1603 if(!apikeyInput) return res.json(loghandler.notparam)1604 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1605 if(!search) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter search"})16061607 fetch(encodeURI(`http://docs-api-zahirrr.herokuapp.com/api/drakorasia?search=${search}`))1608 .then(response => response.json())1609 .then(data => {1610 var result = data;1611 res.json({1612 result1613 })1614 })1615 .catch(e => {1616 res.sendFile(error)1617})1618})161916201621router.get('/jadwalshalat', async (req, res, next) => {1622 var apikeyInput = req.query.apikey,1623 kota = req.query.kota1624 1625 if(!apikeyInput) return res.json(loghandler.notparam)1626 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1627 if(!kota) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kota"})16281629 fetch(encodeURI(`https://raw.githubusercontent.com/Zhirrr/Zhirrr-Database/main/adzan/${kota}/2021/03.json`))1630 .then(response => response.json())1631 .then(data => {1632 var result = data;1633 res.json({1634 result1635 })1636 })1637 .catch(e => {1638 res.sendFile(error)1639})1640})164116421643router.get('/fakedata', async (req, res, next) => {1644 var apikeyInput = req.query.apikey,1645 country = req.query.country1646 1647 if(!apikeyInput) return res.json(loghandler.notparam)1648 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1649 if(!country) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter country"})16501651 fetch(encodeURI(`https://fakename-api-zhirrr.vercel.app/api/fakename?country=${country}`))1652 .then(response => response.json())1653 .then(data => {1654 var result = data;1655 res.json({1656 result1657 })1658 })1659 .catch(e => {1660 res.sendFile(error)1661})1662})166316641665router.get('/hilih', async (req, res, next) => {1666 var apikeyInput = req.query.apikey,1667 kata = req.query.kata1668 1669 if(!apikeyInput) return res.json(loghandler.notparam)1670 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1671 if(!kata) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kata"})16721673 fetch(encodeURI(`https://hilih-api-zhirrr.vercel.app/api/hilih?kata=${kata}`))1674 .then(response => response.json())1675 .then(data => {1676 var result = data;1677 res.json({1678 result1679 })1680 })1681 .catch(e => {1682 res.sendFile(error)1683})1684})168516861687router.get('/liriklagu', async (req, res, next) => {1688 var apikeyInput = req.query.apikey,1689 lagu = req.query.lagu1690 1691 if(!apikeyInput) return res.json(loghandler.notparam)1692 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1693 if(!lagu) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kata"})16941695 var json = await (await fetch(`https://scrap.terhambar.com/lirik?word=${lagu}`)).json()1696 var result = json.result1697 res.json({1698 creatos : creator,1699 result : result1700 })1701})17021703router.get('/chordlagu', async (req, res, next) => {1704 var apikeyInput = req.query.apikey,1705 lagu = req.query.lagu1706 1707 if(!apikeyInput) return res.json(loghandler.notparam)1708 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1709 if(!lagu) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kata"})17101711 fetch(encodeURI(`https://python-api-zhirrr.herokuapp.com/api/chord?q=${lagu}`))1712 .then(response => response.json())1713 .then(data => {1714 var result = data;1715 res.json({1716 result1717 })1718 })1719 .catch(e => {1720 res.sendFile(error)1721})1722})172317241725router.get('/random/asmaulhusna', async (req, res, next) => {1726 var apikeyInput = req.query.apikey1727 1728 if(!apikeyInput) return res.json(loghandler.notparam)1729 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)17301731 fetch(encodeURI(`https://python-api-zhirrr.herokuapp.com/api/random/asmaulhusna`))1732 .then(response => response.json())1733 .then(data => {1734 var result = data;1735 res.json({1736 result1737 })1738 })1739 .catch(e => {1740 res.sendFile(error)1741})1742})174317441745router.get('/kbbi', async (req, res, next) => {1746 var apikeyInput = req.query.apikey,1747 kata = req.query.kata1748 1749 if(!apikeyInput) return res.json(loghandler.notparam)1750 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1751 if(!kata) return res.json({ status : false, creator: `${creator}`, message : "Masukan parameter kata"})17521753 fetch(encodeURI(`https://kbbi-api-zhirrr.vercel.app/api/kbbi?text=${kata}`))1754 .then(response => response.json())1755 .then(data => {1756 var result = data;1757 res.json({1758 result1759 })1760 })1761 .catch(e => {1762 res.sendFile(error)1763})1764})176517661767router.get('/covidindo', async (req, res, next) => {1768 var apikeyInput = req.query.apikey1769 1770 if(!apikeyInput) return res.json(loghandler.notparam)1771 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)17721773 fetch(encodeURI(`https://covid19-api-zhirrr.vercel.app/api/covid-indonesia`))1774 .then(response => response.json())1775 .then(data => {1776 var result = data;1777 res.json({1778 result1779 })1780 })1781 .catch(e => {1782 res.sendFile(error)1783})1784})178517861787router.get('/covidworld', async (req, res, next) => {1788 var apikeyInput = req.query.apikey1789 1790 if(!apikeyInput) return res.json(loghandler.notparam)1791 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)17921793 fetch(encodeURI(`https://covid19-api-zhirrr.vercel.app/api/world`))1794 .then(response => responsejson())1795 .then(data => {1796 var result = data;1797 res.json({1798 result1799 })1800 })1801 .catch(e => {1802 res.sendFile(error)1803})1804})180518061807router.get('/kodepos', async (req, res, next) => {1808 var apikeyInput = req.query.apikey,1809 kota = req.query.kota1810 1811 if(!apikeyInput) return res.json(loghandler.notparam)1812 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1813 if(!kota) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kota"})18141815 fetch(encodeURI(`https://kodepos-api-zhirrr.vercel.app/?q=${kota}`))1816 .then(response => response.json())1817 .then(data => {1818 var result = data;1819 res.json({1820 result1821 })1822 })1823 .catch(e => {1824 res.sendFile(error)1825})1826})182718281829router.get('/infocuaca', async (req, res, next) => {1830 var apikeyInput = req.query.apikey,1831 provinsi = req.query.provinsi1832 1833 if(!apikeyInput) return res.json(loghandler.notparam)1834 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1835 if(!provinsi) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter provinsi"})1836 fetch(encodeURI(`https://bmkg-api-zahirr.herokuapp.com/api/cuaca/${provinsi}`))1837 .then(response => response.json())1838 .then(data => {1839 var result = data;1840 res.json({1841 result1842 })1843 })1844 .catch(e => {1845 res.sendFile(error)1846})1847})184818491850router.get('/infocuaca/bandara', async (req, rs, next) => {1851 var apikeyInput = req.query.apikey1852 1853 if(!apikeyInput) return res.json(loghandler.notparam)1854 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1855 fetch(encodeURI(`https://bmkg-api-zahirr.herokuapp.com/api/cuaca/bandara`))1856 .then(response => response.json())1857 .then(data => {1858 var result = data;1859 res.json({1860 result1861 })1862 })1863 .catch(e => {1864 res.sendFile(error)1865})1866})186718681869router.get('/infocuaca/dunia', async (req, res, next) => {1870 var apikeyInput = req.query.apikey1871 1872 if(!apikeyInput) return res.json(loghandler.notparam)1873 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1874 fetch(encodeURI(`https://bmkg-api-zahirr.herokuapp.com/api/cuaca/dunia`))1875 .then(response => response.json())1876 .then(data => {1877 var result = data;1878 res.json({1879 result1880 })1881 })1882 .catch(e => {1883 res.sendFile(error)1884})1885})188618871888router.get('/infotsunami', async (req, res, next) => {1889 var apikeyInput = req.query.apikey1890 1891 if(!apikeyInput) return res.json(loghandler.notparam)1892 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1893 fetch(encodeURI(`https://bmkg-api-zahirr.herokuapp.com/api/tsunami`))1894 .then(response => response.json())1895 .then(data => {1896 var result = dta;1897 res.json({1898 result1899 })1900 })1901 .catch(e => {1902 res.sendFile(error)1903})1904})190519061907router.get('/random/meme', async (req, res, next) => {1908 var apikeyInput = req.query.apikey1909 1910 if(!apikeyInput) return res.json(loghandler.notparam)1911 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)19121913 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/meme`))1914 .then(response => response.json())1915 .then(data => {1916 var result = data;1917 res.json({1918 result1919 })1920 })1921 .catch(e => {1922 res.sendFile(error)1923})1924})192519261927router.get('/quotes/kanye', async (req, res, next) => {1928 var apikeyInput = req.query.apikey1929 1930 if(!apikeyInput) return res.json(loghandler.notparam)1931 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)19321933 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/quote?type=kanye`))1934 .then(response => response.json())1935 .then(data => {1936 var result = data;1937 res.json({1938 result1939 })1940 })1941 .catch(e => {1942 res.sendFile(error)1943})1944})194519461947router.get('/translate', async (req, res, next) => {1948 var apikeyInput = req.query.apikey,1949 kata = req.query.kata1950 1951 if(!apikeyInput) return res.json(loghandler.notparam)1952 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1953 if(!kata) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter kata"})1954 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/translate?text=${kata}`))1955 .then(response => response.json())1956 .then(data => {1957 var result = data;1958 res.json({1959 result1960 })1961 })1962 .catch(e => {1963 res.sendFile(error)1964})1965})196619671968router.get('/anime/kusonime', async (req, res, next) => {1969 var apikeyInput = req.query.apikey,1970 search = req.query.search1971 1972 if(!apikeyInput) return res.json(loghandler.notparam)1973 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)1974 if(!search) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter search"})1975 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/kusonime?search=${search}`))1976 .then(response => response.json())1977 .then(data => {1978 var result = data;1979 res.json({1980 result1981 })1982 })1983 .catch(e => {1984 res.sendFile(error)1985})1986})198719881989router.get('/gabut', async (req, res, next) => {1990 var apikeyInput = req.query.apikey1991 1992 if(!apikeyInput) return res.json(loghandler.notparam)1993 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)19941995 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/bosan`))1996 .then(response => response.json())1997 .then(data => {1998 var result = data;1999 res.json({2000 result2001 })2002 })2003 .catch(e => {2004 res.sendFile(error)2005})2006})200720082009router.get('/manga', async (req, res, next) => {2010 var apikeyInput = req.query.apikey,2011 search = req.query.search2012 2013 if(!apikeyInput) return res.json(loghandler.notparam)2014 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2015 if(!search) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter search"})2016 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/manga?keyword=${search}`))2017 .then(response => response.json())2018 .then(data => {2019 var result = data; res.json({2020 result2021 })2022 })2023 .catch(e => {2024 res.sendFile(error)2025})2026})202720282029router.get('/random/wallpaper', async (req, res, next) => {2030 var apikeyInput = req.query.apikey2031 2032 if(!apikeyInput) return res.json(loghandler.notparam)2033 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)20342035 fetch(encodeURI(`https://docs-api-zahirrr.herokuapp.com/api/random/wallpaper?genre=acak`))2036 .then(response => response.json())2037 .then(data => {2038 var result = data;2039 res.json({2040 result2041 })2042 })2043 .catch(e => {2044 res.sendFile(error)2045})2046})204720482049router.get('/kuis/caklontong', async (req, res, next) => {2050 var apikeyInput = req.query.apikey2051 2052 if(!apikeyInput) return res.json(loghandler.notparam)2053 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)20542055 fetch(encodeURI(`https://api-yogipw.herokuapp.com/api/kuis/caklontong?apikey=yogipw`))2056 .then(response => response.json())2057 .then(data => {2058 var result = data;2059 res.json({2060 author: 'ZeroYT7',2061 result2062 })2063 })2064 .catch(e => {2065 res.sendFile(error)2066})2067})20682069router.get('/kuis/tebakgambar', async (req, res, next) => {2070 var apikeyInput = req.query.apikey2071 2072 if(!apikeyInput) return res.json(loghandler.notparam)2073 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)20742075 fetch(encodeURI(`https://api.zeks.xyz/api/tebakgambar?apikey=alpin1234567`))2076 .then(response => response.json())2077 .then(data => {2078 var result = data;2079 res.json({2080 author: 'ZeroYT7',2081 result2082 })2083 })2084 .catch(e => {2085 res.sendFile(error)2086})2087})20882089router.get('/news/cnn', async (req, res, next) => {2090 var apikeyInput = req.query.apikey,2091 type = req.query.type2092 2093 if(!apikeyInput) return res.json(loghandler.notparam)2094 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2095 if (!type) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter type"})20962097 fetch(encodeURI(`https://news-api-zhirrr.vercel.app/v1/cnn-news/${type}`))2098 .then(response => response.json())2099 .then(data => {2100 var result = data;2101 res.json({2102 author: 'ZeroYT7',2103 result2104 })2105 })2106 .catch(e => {2107 res.sendFile(error)2108})2109})211021112112router.get('/news/cnbc', async (req, res, next) => {2113 var apikeyInput = req.query.apikey,2114 type = req.query.type2115 2116 if(!apikeyInput) return res.json(loghandler.notparam)2117 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2118 if (!type) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter type"})21192120 fetch(encodeURI(`https://news-api-zhirrr.vercel.app/v1/cnbc-news/${type}`))2121 .then(response => response.json())2122 .then(data => {2123 var result = data;2124 res.json({2125 author: 'ZeroYT7',2126 result2127 })2128 })2129 .catch(e => {2130 res.sendFile(error)2131})2132})213321342135router.get('/news/republika', async (req, res, next) => {2136 var apikeyInput = req.query.apikey,2137 type = req.query.type2138 2139 if(!apikeyInput) return res.json(loghandler.notparam)2140 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2141 if (!type) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter type"})21422143 fetch(encodeURI(`https://news-api-zhirrr.vercel.app/v1/republika-news/${type}`))2144 .then(response => response.json())2145 .then(data => {2146 var result = data;2147 res.json({2148 author: 'ZeroYT7',2149 result2150 })2151 })2152 .catch(e => {2153 res.sendFile(error)2154})2155})215621572158router.get('/news/tempo', async (req, res, next) => {2159 var apikeyInput = req.query.apikey,2160 type = req.query.type2161 2162 if(!apikeyInput) return res.json(loghandler.notparam)2163 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2164 if (!type) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter type"})21652166 fetch(encodeURI(`https://news-api-zhirrr.verce.app/v1/tempo-news/${type}`))2167 .then(response => response.json())2168 .then(data => {2169 var result = data;2170 res.json({2171 author: 'ZeroYT7',2172 result2173 })2174 })2175 .catch(e => {2176 res.sendFile(error)2177})2178})217921802181router.get('/news/antara', async (req, res, next) => {2182 var apikeyInput = req.query.apikey,2183 type = req.query.type2184 2185 if(!apikeyInput) return res.json(loghandler.notparam)2186 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2187 if (!type) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter type"})21882189 fetch(encodeURI(`https://news-api-zhirrr.vercel.app/v1/antara-news/${type}`))2190 .then(response => response.json())2191 .then(data => {2192 var result = data;2193 res.json({2194 author: 'ZeroYT7',2195 result2196 })2197 })2198 .catch(e => {2199 res.sendFile(error)2200})2201})220222032204router.get('/news/kumparan', async (req, res, next) => {2205 var apikeyInput = req.query.apikey2206 2207 if(!apikeyInput) return res.json(loghandler.notparam)2208 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)22092210 fetch(encodeURI(`https://news-api-zhirrr.vercel.app/v1/kumparan-news`))2211 .then(response => response.json())2212 .then(data => {2213 var result = data;2214 res.json({2215 author: 'ZeroYT7',2216 result2217 })2218 })2219 .catch(e => {2220 res.sendFile(error)2221})2222})222322242225router.get('/filmapik/search', async (req, res, next) => {2226 var apikeyInput = req.query.apikey,2227 film = req.query.film2228 2229 if(!apikeyInput) return res.json(loghandler.notparam)2230 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2231 if (!film) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter film"})22322233 fetch(encodeURI(`https://filmapik-api-zahirr.herokuapp.com/search?q=${film}`))2234 .then(response => response.json())2235 .then(data => {2236 var result = data;2237 res.json({2238 author: 'ZeroYT7',2239 result2240 })2241 })2242 .catch(e => {2243 res.sendFile(error)2244})2245})224622472248router.get('/filmapik/kategori', async (req, res, next) => {2249 var apikeyInput = req.query.apikey,2250 film = req.query.film2251 2252 if(!apikeyInput) return res.json(loghandler.notparam)2253 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2254 if (!film) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter film"})22552256 fetch(encodeURI(`https://filmapik-api-zahirr.herokuapp.com/category?search=${film}`))2257 .then(response => response.json())2258 .then(data => {2259 var result = data;2260 res.json({2261 author: 'ZeroYT7',2262 result2263 })2264 })2265 .catch(e => {2266 res.sendFile(error)2267})2268})226922702271router.get('/filmapik/play', async (req, res, next) => {2272 var apikeyInput = req.query.apikey,2273 id = req.query.id2274 2275 if(!apikeyInput) return res.json(loghandler.notparam)2276 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2277 if (!id) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter id"})22782279 fetch(encodeURI(`https://filmapik-api-zahirr.herokuapp.com/play?id=${id}`))2280 .then(response => response.json())2281 .then(data => {2282 var result = data;2283 res.json({2284 author: 'ZeroYT7',2285 result2286 })2287 })2288 .catch(e => {2289 res.sendFile(error)2290})2291})229222932294router.get('/filmapik/terbaru', async (req, res, next) => {2295 var apikeyInput = req.query.apikey2296 2297 if(!apikeyInput) return res.json(loghandler.notparam)2298 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)22992300 fetch(encodeURI(`https://filmapik-api-zahirr.herokuapp.com/latest`))2301 .then(response => response.json())2302 .then(data => {2303 var result = data;2304 res.json({2305 author: 'ZeroYT7',2306 result2307 })2308 })2309 .catch(e => {2310 res.sendFile(error)2311})2312})231323142315router.get('/lk21/search', async (req, res, next) => {2316 var apikeyInput = req.query.apikey,2317 film = req.query.film2318 2319 if(!apikeyInput) return res.json(loghandler.notparam)2320 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2321 if (!film) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter film"})23222323 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/search?query=${film}`))2324 .then(response => response.json())2325 .then(data => {2326 var result = data;2327 res.json({2328 author: 'ZeroYT7',2329 result2330 })2331 })2332 .catch(e => {2333 res.sendFile(error)2334})2335})23362337router.get('/playstore', async (req, res, next) => {2338 var apikeyInput = req.query.apikey,2339 namaapk = req.query.namaapk2340 2341 if(!apikeyInput) return res.json(loghandler.notparam)2342 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2343 if (!namaapk) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nama apk"})23442345 fetch(encodeURI(`https://api.zeks.xyz/api/sgplay?apikey=apivinz&q=${namaapk}`))2346 .then(response => response.json())2347 .then(data => {2348 var result = data;2349 res.json({2350 author: 'ZeroYT7',2351 result2352 })2353 })2354 .catch(e => {2355 res.sendFile(error)2356})2357})23582359router.get('/happymod', async (req, res, next) => {2360 var apikeyInput = req.query.apikey,2361 namaapk = req.query.namaapk2362 2363 if(!apikeyInput) return res.json(loghandler.notparam)2364 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2365 if (!namaapk) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nama apk"})23662367 fetch(encodeURI(`https://api.zeks.xyz/api/happymod?apikey=apivinz&q=${namaapk}`))2368 .then(response => response.json())2369 .then(data => {2370 var result = data;2371 res.json({2372 author: 'ZeroYT7',2373 result2374 })2375 })2376 .catch(e => {2377 res.sendFile(error)2378})2379})23802381router.get('/Gsm', async (req, res, next) => {2382 var apikeyInput = req.query.apikey,2383 ygdicarik = req.query.ygdicarik2384 2385 if(!apikeyInput) return res.json(loghandler.notparam)2386 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2387 if (!ygdicarik) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nama ygdicarik"})23882389 fetch(encodeURI(`https://api.zeks.xyz/api/gsmArena?apikey=apivinz&q=${ygdicarik}`))2390 .then(response => response.json())2391 .then(data => {2392 var result = data;2393 res.json({2394 author: 'ZeroYT7',2395 result2396 })2397 })2398 .catch(e => {2399 res.sendFile(error)2400})2401})24022403router.get('/sticker', async (req, res, next) => {2404 var apikeyInput = req.query.apikey,2405 nama = req.query.nama2406 2407 if(!apikeyInput) return res.json(loghandler.notparam)2408 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2409 if (!nama) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nama"})24102411 fetch(encodeURI(`https://api.zeks.xyz/api/searchsticker?apikey=apivinz&q=${nama}`))2412 .then(response => response.json())2413 .then(data => {2414 var result = data;2415 res.json({2416 author: 'ZeroYT7',2417 result2418 })2419 })2420 .catch(e => {2421 res.sendFile(error)2422})2423})24242425router.get('/sticker/line', async (req, res, next) => {2426 var apikeyInput = req.query.apikey,2427 link = req.query.link2428 2429 if(!apikeyInput) return res.json(loghandler.notparam)2430 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2431 if (!link) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter link"})24322433 fetch(encodeURI(`https://api.zeks.xyz/api/linesticker?link=${link}&apikey=apivinz`))2434 .then(response => response.json())2435 .then(data => {2436 var result = data;2437 res.json({2438 author: 'ZeroYT7',2439 result2440 })2441 })2442 .catch(e => {2443 res.sendFile(error)2444})2445})24462447router.get('/sticker/telegram', async (req, res, next) => {2448 var apikeyInput = req.query.apikey,2449 link = req.query.link2450 2451 if(!apikeyInput) return res.json(loghandler.notparam)2452 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2453 if (!link) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter link"})24542455 fetch(encodeURI(`https://api.zeks.xyz/api/telegram-sticker?apikey=apivinz&url={link}`))2456 .then(response => response.json())2457 .then(data => {2458 var result = data;2459 res.json({2460 author: 'ZeroYT7',2461 result2462 })2463 })2464 .catch(e => {2465 res.sendFile(error)2466})2467})24682469router.get('/jadwal/tv', async (req, res, next) => {2470 var apikeyInput = req.query.apikey,2471 channel = req.query.channel2472 2473 if(!apikeyInput) return res.json(loghandler.notparam)2474 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2475 if (!channel) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter channel"})24762477 fetch(encodeURI(`https://api.zeks.xyz/api/jadwaltv?channel=${channel}&apikey=apivinz`))2478 .then(response => response.json())2479 .then(data => {2480 var result = data;2481 res.json({2482 author: 'ZeroYT7',2483 result2484 })2485 })2486 .catch(e => {2487 res.sendFile(error)2488})2489})24902491router.get('/iguser', async (req, res, next) => {2492 var apikeyInput = req.query.apikey,2493 nama = req.query.nama2494 2495 if(!apikeyInput) return res.json(loghandler.notparam)2496 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2497 if (!nama) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter nama"})24982499 fetch(encodeURI(`https://api.zeks.xyz/api/iguser?apikey=apivinz&q=${nama}`))2500 .then(response => response.json())2501 .then(data => {2502 var result = data;2503 res.json({2504 author: 'ZeroYT7',2505 result2506 })2507 })2508 .catch(e => {2509 res.sendFile(error)2510})2511})25122513router.get('/lk21/terbaru', async (req, res, next) => {2514 var apikeyInput = req.query.apikey2515 2516 if(!apikeyInput) return res.json(loghandler.notparam)2517 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)25182519 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/newupload`))2520 .then(response => response.json())2521 .then(data => {2522 var result = data;2523 res.json({2524 author: 'ZeroYT7',2525 result2526 })2527 })2528 .catch(e => {2529 res.sendFile(error)2530})2531})253225332534router.get('/lk21/comingsoon', async (req, res, next) => {2535 var apikeyInput = req.query.apikey2536 2537 if(!apikeyInput) return res.json(loghandler.notparam)2538 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)25392540 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/comingsoon`))2541 .then(response => response.json())2542 .then(data => {2543 var result = data;2544 res.json({2545 author: 'ZeroYT7',2546 result2547 })2548 })2549 .catch(e => {2550 res.sendFile(error)2551})2552})255325542555router.get('/lk21/tvseries', async (req, res, next) => {2556 var apikeyInput = req.query.apikey2557 2558 if(!apikeyInput) return res.json(loghandler.notparam)2559 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)25602561 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/tv`))2562 .then(response => response.json())2563 .then(data => {2564 var result = data;2565 res.json({2566 author: 'ZeroYT7',2567 result2568 })2569 })2570 .catch(e => {2571 res.sendFile(error)2572})2573})257425752576router.get('/lk21/year', async (req, res, next) => {2577 var apikeyInput = req.query.apikey,2578 tahun = req.query.tahun2579 2580 if(!apikeyInput) return res.json(loghandler.notparam)2581 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2582 if (!tahun) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter tahun"})25832584 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/year?year=${tahun}`))2585 .then(response => response.json())2586 .then(data => {2587 var result = data;2588 res.json({2589 author: 'ZeroYT7',2590 result2591 })2592 })2593 .catch(e => {2594 res.sendFile(error)2595})2596})259725982599router.get('/lk21/country', async (req, res, next) => {2600 var apikeyInput = req.query.apikey,2601 negara = req.query.negara2602 2603 if(!apikeyInput) return res.json(loghandler.notparam)2604 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2605 if (!negara) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter negara"})26062607 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/country?country=${negara}`))2608 .then(response => response.json())2609 .then(data => {2610 var result = data;2611 res.json({2612 author: 'ZeroYT7', result2613 })2614 })2615 .catch(e => {2616 res.sendFile(error)2617})2618})261926202621router.get('/lk21/genre', async (req, res, next) => {2622 var apikeyInput = req.query.apikey,2623 tipe = req.query.tipe2624 2625 if(!apikeyInput) return res.json(loghandler.notparam)2626 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2627 if (!tipe) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter tipe"})26282629 fetch(encodeURI(`https://lk21-api-zahirr.herokuapp.com/genre?genre=${tipe}`))2630 .then(response => response.json())2631 .then(data => {2632 var result = data;2633 res.json({2634 author: 'ZeroYT7',2635 result2636 })2637 })2638 .catch(e => {2639 res.sendFile(error)2640})2641})264226432644router.get('/textmaker/random', async (req, res, next) => {2645 var theme = req.query.theme,2646 text = req.query.text,2647 text2 = req.query.text2,2648 text3 = req.query.text3,2649 apikeyInput = req.query.apikey;2650 2651 if(!apikeyInput) return res.json(loghandler.notparam)2652 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2653 if (!theme) return res.json(loghandler.nottheme)2654 if (theme != 'text-burn' && theme != 'art-quote') return res.json(loghandler.notheme)2655 if (!text) return res.json(loghandler.nottext)26562657 if (theme == 'text-burn') {2658 try {2659 request.post({2660 url: "https://photooxy.com/logo-and-text-effects/write-text-on-burn-paper-388.html",2661 headers: {2662 'Content-Type': 'application/x-www-form-urlencoded'2663 },2664 body: `text_1=${text}&login=OK`,2665 }, (e,r,b) => {2666 if (!e) {2667 $ = cheerio.load(b)2668 $(".thumbnail").find("img").each(function() {2669 h = $(this).attr("src")2670 var result = "https://photooxy.com/"+h2671 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))2672 .then(response => response.json())2673 .then(data => {2674 var urlnya = data.data.url,2675 devare_url = data.data.devare_url;2676 res.json({2677 status : true,2678 creator : `${creator}`,2679 message : `jangan lupa Subscribe Youtube ${creator}`,2680 result:{2681 url:urlnya,2682 devare_url: devare_url,2683 info: 'url akan hilang setelah 2 menit'2684 }2685 })2686 })2687 })2688 }2689 })2690 } catch (e) {2691 console.log(e);2692 res.sendFile(error)2693 }2694 } else if (theme == 'art-quote') {2695 request.post({2696 url: "https://photooxy.com/logo-and-text-effects/write-art-quote-on-wood-heart-370.html",2697 headers: {2698 'Content-Type': 'application/x-www-form-urlencoded'2699 },2700 body: `text_1=${text}&login=OK`,2701 }, (e,r,b) => {2702 if (!e) {2703 $ = cheerio.load(b)2704 $(".thumbnail").find("img").each(function() {2705 h = $(this).attr("src")2706 var result = "https://photooxy.com/"+h2707 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))2708 .then(response => response.json())2709 .then(data => {2710 var urlnya = data.data.url,2711 devare_url = data.data.devare_url;2712 res.json({2713 status : true,2714 creator : `${creator}`,2715 message : `jangan lupa Subscribe Youtube ${creator}`,2716 result:{2717 url:urlnya,2718 devare_url: devare_url,2719 info: 'url akan hilang setelah 2 menit'2720 }2721 })2722 })2723 })2724 }2725 }) 2726 } else {2727 res.sendFile(error)2728 }2729})27302731router.get('/textmaker/roses', async (req, res, next) => {2732 var theme = req.query.theme,2733 text = req.query.text,2734 text2 = req.query.text2,2735 text3 = req.query.text3,2736 apikeyInput = req.query.apikey;2737 2738 if(!apikeyInput) return res.json(loghandler.notparam)2739 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2740 if (!theme) return res.json(loghandler.nottheme)2741 if (theme != 'wooden-boarch' && theme != 'golden') return res.json(loghandler.notheme)2742 if (!text) return res.json(loghandler.nottext)27432744 if (theme == 'wooden-boarch') {2745 try {2746 request.post({2747 url: "https://photooxy.com/logo-and-text-effects/writing-on-wooden-boards-368.html",2748 headers: {2749 'Content-Type': 'application/x-www-form-urlencoded'2750 },2751 body: `text_1=${text}&login=OK`,2752 }, (e,r,b) => {2753 if (!e) {2754 $ = cheerio.load(b)2755 $(".thumbnail").find("img").each(function() {2756 h = $(this).attr("src")2757 var result = "https://photooxy.com/"+h2758 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))2759 .then(response => response.json())2760 .then(data => {2761 var urlnya = data.data.url,2762 devare_url = data.data.devare_url;2763 res.json({2764 status : true,2765 creator : `${creator}`,2766 message : `jangan lupa Subscribe Youtube ${creator}`,2767 result:{2768 url:urlnya,2769 devare_url: devare_url,2770 info: 'url akan hilang setelah 2 menit'2771 }2772 })2773 })2774 })2775 }2776 })2777 } catch (e) {2778 console.log(e);2779 res.sendFile(error)2780 }2781 } else if (theme == 'golden') {2782 request.post({2783 url: "https://photooxy.com/logo-and-text-effects/yellow-roses-text-360.html",2784 headers: {2785 'Content-Type': 'application/x-www-form-urlencoded'2786 },2787 body: `text_1=${text}&login=OK`,2788 }, (e,r,b) => {2789 if (!e) {2790 $ = heerio.load(b)2791 $(".thumbnail").find("img").each(function() {2792 h = $(this).attr("src")2793 var result = "https://photooxy.com/"+h2794 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=761ea2d5575581057a799d14e9c78e28&image=${result}&name=${randomTextNumber}`))2795 .then(response => response.json())2796 .then(data => {2797 var urlnya = data.data.url,2798 devare_url = data.data.devare_url;2799 res.json({2800 status : true,2801 creator : `${creator}`,2802 message : `jangan lupa Subscribe Youtube ${creator}`,2803 result:{2804 url:urlnya,2805 devare_url: devare_url,2806 info: 'url akan hilang setelah 2 menit'2807 }2808 })2809 })2810 })2811 }2812 }) 2813 } else {2814 res.sendFile(error)2815 }2816})28172818router.get('/yutub/video', async (req, res, next) => {2819 var apikeyInput = req.query.apikey,2820 url = req.query.url2821 2822 if(!apikeyInput) return res.json(loghandler.notparam)2823 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2824 if (!url) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter url"})28252826 fetch(encodeURI(`https://api.zeks.xyz/api/ytmp4?url=${url}&apikey=alpin1234567`))2827 .then(response => response.json())2828 .then(data => {2829 var result = data;2830 res.json({2831 author: 'ZeroYT7',2832 result2833 })2834 })2835 .catch(e => {2836 res.sendFile(error)2837})2838})283928402841router.get('/yutub/audio', async (req, res, next) => {2842 var apikeyInput = req.query.apikey,2843 url = req.query.url2844 2845 if(!apikeyInput) return res.json(loghandler.notparam)2846 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2847 if (!url) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter url"})28482849 fetch(encodeURI(`https://api.zeks.xyz/api/ytmp3?url=${url}&apikey=alpin1234567`))2850 .then(response => response.json())2851 .then(data => {2852 var result = data;2853 res.json({2854 author: 'ZeroYT7',2855 result2856 })2857 })2858 .catch(e => {2859 res.sendFile(error)2860})2861})286228632864router.get('/ig/stalk', async (req, res, next) => {2865 var apikeyInput = req.query.apikey,2866 username = req.query.username2867 2868 if(!apikeyInput) return res.json(loghandler.notparam)2869 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2870 if (!username) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter username"})28712872 fetch(encodeURI(`https://mhankbarbar.herokuapp.com/api/stalk?username=${username}`))2873 .then(response => response.json())2874 .then(data => {2875 var result = data;2876 res.json({2877 author: 'ZeroYT7',2878 result2879 })2880 })2881 .catch(e => {2882 res.sendFile(error)2883})2884})28852886router.get('/comik', async (req, res, next) => {2887 var apikeyInput = req.query.apikey,2888 search = req.query.search2889 2890 if(!apikeyInput) return res.json(loghandler.notparam)2891 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2892 if (!search) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter username"})28932894 fetch(encodeURI(`https://api.zeks.xyz/api/bacakomik?apikey=alpin1234567&q=${search}`))2895 .then(response => response.json())2896 .then(data => {2897 var result = data;2898 res.json({2899 author: 'ZeroYT7',2900 result2901 })2902 })2903 .catch(e => {2904 res.sendFile(error)2905})2906})29072908router.get('/dork', async (req, res, next) => {2909 var apikeyInput = req.query.apikey,2910 dork = req.query.dork2911 2912 if(!apikeyInput) return res.json(loghandler.notparam)2913 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2914 if (!dork) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter dork"})29152916 fetch(encodeURI(`https://api-anoncybfakeplayer.herokuapp.com/dorking?dork=${dork}`))2917 .then(response => response.json())2918 .then(data => {2919 var result = data;2920 res.json({2921 author: 'ZeroYT7',2922 result2923 })2924 })2925 .catch(e => {2926 res.sendFile(error)2927})2928})29292930router.get('/pastebin', async (req, res, next) => {2931 var apikeyInput = req.query.apikey,2932 text = req.query.text2933 2934 if(!apikeyInput) return res.json(loghandler.notparam)2935 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2936 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})29372938 fetch(encodeURI(`https://api-anoncybfakeplayer.herokuapp.com/pastebin?text=${text}`))2939 .then(response => response.json())2940 .then(data => {2941 var result = data;2942 res.json({2943 author: 'ZeroYT7',2944 result2945 })2946 })2947 .catch(e => {2948 res.sendFile(error)2949})2950})29512952router.get('/maker', async (req, res, next) => {2953 var apikeyInput = req.query.apikey,2954 text = req.query.text2955 2956 if(!apikeyInput) return res.json(loghandler.notparam)2957 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2958 if (!text) return res.json(loghandler.nottext)29592960 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/textmaker?text=${text}`))2961 .then(response => response.json())2962 .then(data => {2963 var result = data;2964 res.json({2965 author: 'ZeroYT7',2966 result2967 })2968 })2969 .catch(e => {2970 res.sendFile(error)2971})2972})297329742975router.get('/maker2', async (req, res, next) => {2976 var apikeyInput = req.query.apikey,2977 text = req.query.text2978 2979 if(!apikeyInput) return res.json(loghandler.notparam)2980 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)2981 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})29822983 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/textmaker2?text=${text}`))2984 .then(response => response.json())2985 .then(data => {2986 var result = data;2987 res.json({2988 author: 'ZeroYT7',2989 result2990 })2991 })2992 .catch(e => {2993 res.sendFile(error)2994})2995})299629972998router.get('/maker3', async (req, res, next) => {2999 var apikeyInput = req.query.apikey,3000 text = req.query.text3001 3002 if(!apikeyInput) return res.json(loghandler.notparam)3003 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3004 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})30053006 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/textmaker3?text=${text}`))3007 .then(response => response.json())3008 .then(data => {3009 var result = data;3010 res.json({3011 author: 'ZeroYT7',3012 result3013 })3014 })3015 .catch(e => {3016 res.sendFile(error)3017})3018})301930203021router.get('/maker4', async (rq, res, next) => {3022 var apikeyInput = req.query.apikey,3023 text = req.query.text3024 3025 if(!apikeyInput) return res.json(loghandler.notparam)3026 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3027 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})30283029 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/textmaker4?text=${text}`))3030 .then(response => response.json())3031 .then(data => {3032 var result = data;3033 res.json({3034 author: 'ZeroYT7',3035 result3036 })3037 })3038 .catch(e => {3039 res.sendFile(error)3040})3041})304230433044router.get('/maker3d', async (req, res, next) => {3045 var apikeyInput = req.query.apikey,3046 text = req.query.text3047 3048 if(!apikeyInput) return res.json(loghandler.notparam)3049 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3050 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})30513052 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/text3d?text=${text}`))3053 .then(response => response.json())3054 .then(data => {3055 var result = data;3056 res.json({3057 author: 'ZeroYT7',3058 result3059 })3060 })3061 .catch(e => {3062 res.sendFile(error)3063})3064})306530663067router.get('/maker3d/no2', async (req, res, next) => {3068 var apikeyInput = req.query.apikey,3069 text = req.query.text3070 3071 if(!apikeyInput) return res.json(loghandler.notparam)3072 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3073 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})30743075 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/text3d-2?text=${text}`))3076 .then(response => response.json())3077 .then(data => {3078 var result = data;3079 res.json({3080 author: 'ZeroYT7',3081 result3082 })3083 })3084 .catch(e => {3085 res.sendFile(error)3086})3087})308830893090router.get('/maker3d/no3', async (req, res, next) => {3091 var apikeyInput = req.query.apikey,3092 text = req.qery.text3093 3094 if(!apikeyInput) return res.json(loghandler.notparam)3095 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3096 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})30973098 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/text3d-3?text=${text}`))3099 .then(response => response.json())3100 .then(data => {3101 var result = data;3102 res.json({3103 author: 'ZeroYT7',3104 result3105 })3106 })3107 .catch(e => {3108 res.sendFile(error)3109})3110})311131123113router.get('/maker3d/no4', async (req, res, next) => {3114 var apikeyInput = req.query.apikey,3115 text = req.query.text3116 3117 if(!apikeyInput) return res.json(loghandler.notparam)3118 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3119 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})31203121 fetch(encodeURI(`https://textmaker-api-zahirr.herokuapp.com/api/text3d-4?text=${text}`))3122 .then(response => response.json())3123 .then(data => {3124 var result = data;3125 res.json({3126 author: 'ZeroYT7',3127 result3128 })3129 })3130 .catch(e => {3131 res.sendFile(error)3132})3133})313431353136router.get('/yutub/search', async (req, res, next) => {3137 var apikeyInput = req.query.apikey,3138 video = req.query.video3139 3140 if(!apikeyInput) return res.json(loghandler.notparam)3141 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3142 if (!video) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter video"})31433144 fetch(encodeURI(`https://api.zeks.xyz/api/yts?q=${video}&apikey=alpin1234567`))3145 .then(response => response.json())3146 .then(data => {3147 var result = data;3148 res.json({3149 author: 'ZeroYT7',3150 result3151 })3152 })3153 .catch(e => {3154 res.sendFile(error)3155})3156})315731583159router.get('/maker/special/transformer', async (req, res, next) => {3160 var apikeyInput = req.query.apikey,3161 text = req.query.text3162 3163 if(!apikeyInput) return res.json(loghandler.notparam)3164 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3165 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})3166 try {3167 var json = await (await fetch(`https://textmaker-api-zahirr.herokuapp.com/api/special/transformer?text=${text}`)).json()3168 var buffer = await getBuffer(json.results)3169 await fs.writeFileSync(__path + '/tmp/transformer.png', buffer)31703171 res.sendFile(__path + '/tmp/transformer.png')3172 } catch (e) {3173 console.log(e)3174 res.sendFile(error)3175 }3176})31773178router.get('/maker/special/epep', async (req, res, next) => {3179 var apikeyInput = req.query.apikey,3180 text = req.query.text3181 3182 if(!apikeyInput) return res.json(loghandler.notparam)3183 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3184 if (!text) return res.json({ status : false, creator : `${creator}`, message : "Masukan parameter text"})31853186 try {3187 var json = await (await fetch(`https://textmaker-api-zahirr.herokuapp.com/api/special/sertifikatepep?text=${text}`)).json()3188 var buffer = await getBuffer(json.results)3189 await fs.writeFileSync(__path + '/tmp/epepserti.png', buffer)31903191 res.sendFile(__path + '/tmp/epepserti.png')3192 } catch (e) {3193 console.log(e)3194 res.sendFile(error)3195 }3196})31973198router.get('/tomp4', async (req, res, next) => {3199 var url = req.query.url,3200 apikeyInput = req.query.apikey;3201 3202 if(!apikeyInput) return res.json(loghandler.notparam)3203 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3204 if (!url) return res.json(loghandler.noturl)3205 if (!url.startsWith('http')) return res.json(loghandler.invalidLink)32063207try {3208 axios.get(`https://ezgif.com/webp-to-mp4?url=${url}`).then(({ data }) => {3209 var $ = cheerio.load(data)3210 var bodyFormThen = new FormData()3211 var file = $('input[name="file"]').attr('value')3212 var token = $('input[name="token"]').attr('value')3213 var convert = $('input[name="file"]').attr('value')3214 var gotdata = {3215 file: file,3216 token: token,3217 convert: convert3218 }3219 bodyFormThen.append('file', gotdata.file)3220 bodyFormThen.append('token', gotdata.token)3221 bodyFormThen.append('convert', gotdata.convert)3222 axios({3223 method: 'post',3224 url: 'https://ezgif.com/webp-to-mp4/' + gotdata.file,3225 data: bodyFormThen,3226 headers: {3227 'Content-Type': `multipart/form-data; boundary=${bodyFormThen._boundary}`3228 }}).then(({ data }) => {3229 var $ = cheerio.load(data)3230 var result = 'https:' + $('div#output > p.outfile > video > source').attr('src')32313232 res.json({3233 status : true,3234 creator : `${creator}`,3235 message : `jangan lupa Subscribe Youtube ${creator}`,3236 result : result3237 })3238 })3239 })32403241 } catch (e) {3242 console.log(e);3243 res.sendFile(error)3244 }3245})32463247router.get('/ocr', async (req, res, next) => {3248 var apikeyInput = req.query.apikey,3249 img = req.query.img;3250 3251 if(!apikeyInput) return res.json(loghandler.notparam)3252 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3253 if (!img) return res.json(loghandler.notimg)3254 if (!img.startsWith('http')) return res.json(loghandler.invalidLink)32553256 try {3257 var enc = await imageToBase64(img)3258 var media = Buffer.from(enc, 'base64')3259 await fs.writeFileSync(__path + '/tmp/ocr.png', media)3260 await recognize(`${__path}/tmp/ocr.png`, { lang: 'eng+ind', oem: 1, psm: 3 })3261 .then(hasil => {32623263 res.json({3264 status : true,3265 creator : `${creator}`,3266 message : `jangan lupa Subscribe Youtube ${creator}`,3267 result : `${hasil}`3268 })3269 })3270 .catch(err => {3271 res.sendFile(error)3272 })3273 } catch (e) {3274 console.log(e);3275 res.sendFile(error)3276 }3277})32783279router.get('/removebg', async (req, res, next) => {3280 var apikeyInput = req.query.apikey,3281 img = req.query.img;32823283 try {3284 if(!apikeyInput) return res.json(loghandler.notparam)3285 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3286 if (!img) return res.json(loghandler.notimg)3287 if (!img.startsWith('http')) return res.json(loghandler.invalidLink)32883289 var encmedia = await imageToBase64(img)3290 var media = Buffer.from(encmedia, 'base64')3291 await fs.writeFileSync(__path + '/tmp/nobg.png', media)3292 var rbg = RemoveBg('HCVrssExQw8DuaWpj2vE5359', 'error.log')3293 rbg.remove_background_from_img_file(__path + '/tmp/nobg.png')32943295 res.sendFile(__path + '/tmp/nobg.png')3296 } catch (e) {3297 console.log(e);3298 res.sendFile(error)3299 }3300})33013302router.get('/simsimi', async (req, res, next) => {3303 var kata = req.query.kata,3304 apikeyInput = req.query.apikey;33053306 if(!apikeyInput) return res.json(loghandler.notparam)3307 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3308 if (!kata) return res.json(loghandler.notkata)33093310 try {3311 var json = await (await fetch(`https://api.zeks.xyz/api/simi?apikey=apivinz&text=${kata}`)).json()3312 var result = json.success3313 res.json({3314 status : true,3315 creator : `${creator}`,3316 result : result3317 })3318} catch (e) {3319 console.log(e)3320 res.sendFile(error)3321 }3322})33233324router.get('/binary', async (req, res, next) => {3325 var apikeyInput = req.query.apikey,3326 text = req.query.encode33273328 if(!apikeyInput) return res.json(loghandler.notparam)3329 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3330 if (!text) return res.json(loghandler.nottext)33313332 try {3333 var json = await (await fetch(`https://some-random-api.ml/binary?encode=${text}`)).json()3334 var result = json.binary3335 res.json({3336 status : true,3337 creator : `${creator}`,3338 result : result3339 })3340} catch (e) {3341 res.sendFile(error)3342 }3343})33443345router.get('/binary', async (req, res, next) => {3346 var apikeyInput = req.query.apikey,3347 text = req.query.decode;33483349 if(!apikeyInput) return res.json(loghandler.notparam)3350 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3351 if (!text) return res.json(loghandler.nottext)33523353 try {3354 var json = await (await fetch(`https://some-random-api.ml/binary?decode=${text}`)).json()3355 var result = json.text3356 res.json({3357 status : true,3358 creator : `${creator}`,3359 result : result3360 })3361} catch (e) {3362 res.sendFile(error)3363 }3364})33653366router.get('/tobase64', async (req, res, next) => {3367 var apikeyInput = req.query.apikey,3368 img = req.query.img;33693370 if(!apikeyInput) return res.json(loghandler.notparam)3371 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3372 if (!img) return res.json(loghandler.notimg)33733374 try {3375 var result = await imageToBase64(img)3376 res.json({3377 status : true,3378 creator : `${creator}`,3379 result : result3380 })3381} catch (e) {3382 res.sendFile(error)3383 }3384})33853386router.get('/tomedia', async (req, res, next) => {3387 var apikeyInput = req.query.apikey,3388 base64 = req.query.base64;33893390 if(!apikeyInput) return res.json(loghandler.notparam)3391 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3392 if (!base64) return res.json(loghandler.notbase64)3393 if (base64.startsWith('data')) return res.json({ message : `Gunakan teks base64 tanpa data:image/jpeg!` })33943395 try {3396 var result = Buffer.from(base64, 'base64')3397 res.sendFile(result)3398} catch (e) {3399 res.sendFile(error)3400 }3401})34023403router.get('/ttp', async (req, res, next) => {3404 var text = req.query.text,3405 apikeyInput = req.query.apikey;34063407 if(!apikeyInput) return res.json(loghandler.notparam)3408 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3409 if (!text) return res.json(loghandler.nottext)34103411 try {3412 var json = await (await fetch(`https://api.areltiyan.site/sticker_maker?text=${text}`)).json()3413 var hasil = json.base64.split`,`[1]3414 await fs.writeFileSync(__path + `/tmp/ttp.png`, hasil, 'base64')34153416 res.sendFile(__path + '/tmp/ttp.png')3417 } catch (e) {3418 console.log(e)3419 res.sendFile(error)3420 }3421})34223423router.get('/dadu', async (req, res, next) => {3424 var apikeyInput = req.query.apikey34253426 if(!apikeyInput) return res.json(loghandler.notparam)3427 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)34283429 var random = Math.floor(Math.random() * 6) + 13430 var hasil = 'https://www.random.org/dice/dice' + random + '.png'3431 var data = await (await fetch(hasil)).buffer()34323433 await fs.writeFileSync(__path + '/tmp/dadu.png', data)3434 res.sendFile(__path + '/tmp/dadu.png')3435})34363437router.get('/repeat', (req, res, next) => {34383439const repeat = (text, total) => {3440 return text.repeat(total)3441 }3442 var text = req.query.text,3443 jumlah = req.query.jumlah,3444 apikeyInput = req.query.apikey;34453446 if(!apikeyInput) return res.json(loghandler.notparam)3447 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3448 if (!text) return res.json(loghandler.nottext)3449 if (!jumlah) return res.json(loghandler.notjumlah)3450 if (isNaN(jumlah)) return res.json(loghandler.number)3451 if (jumlah > 10000) return res.json({ message: `Maximal 10rb Kali!` })34523453 var result = repeat(text, jumlah)3454 res.json({3455 status: true,3456 creator: `${creator}`,3457 result: result3458 })3459})34603461router.get('/reverse', async (req, res, next) => {3462 var text = req.query.text,3463 apikeyInput = req.query.apikey;34643465 if(!apikeyInput) return res.json(loghandler.notparam)3466 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3467 if (!text) return res.json(loghandler.nottext)34683469 try {3470 var json = await (await fetch(`https://videfikri.com/api/hurufterbalik/?query=${text}`)).json()3471 var result = json.result.kata3472 res.json({3473 status : true,3474 creator : `${creator}`,3475 result : result3476 })3477} catch (e) {3478 res.sendFile(error)3479 }3480})34813482router.get('/spamcall', async (req, res, next) => {3483 var nomor = req.query.nomor,3484 apikeyInput = req.query.apikey;34853486 if(!apikeyInput) return res.json(loghandler.notparam)3487 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3488 if (!nomor) return res.json(loghandler.notnomor)3489 if (isNaN(nomor)) return res.json(loghandler.number)34903491 try {3492 var json = await (await fetch(`https://mhankbarbar.herokuapp.com/api/spamcall?no=${nomor}`)).json()3493 res.json(json)34943495} catch (e) {3496 res.sendFile(error)3497 }3498})34993500router.get('/spamsms', async (req, res, next) => {3501 var nomor = req.query.nomor,3502 jumlah = req.query.jumlah,3503 apikeyInput = req.query.apikey;35043505 if(!apikeyInput) return res.json(loghandler.notparam)3506 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3507 if (!nomor) return res.json(loghandler.notnomor)3508 if (isNaN(nomor)) return res.json(loghandler.number)3509 if (!jumlah) return res.json(loghandler.notjumlah)3510 if (isNaN(jumlah)) return res.json(loghandler.number)3511 if (jumlah > 20) return res.json({ message: `Maximal 20 Bang` })35123513 try {3514 var json = await (await fetch(`https://mhankbarbar.herokuapp.com/api/spamsms?no=${nomor}&jum=${jumlah}`)).json()3515 res.json(json)35163517} catch (e) {3518 res.sendFile(error)3519 }3520})35213522router.get('/bokep', async (req, res, next) => {3523 var apikeyInput = req.query.apikey;35243525 if(!apikeyInput) return res.json(loghandler.notparam)3526 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)35273528 try {3529 var json = await (await fetch(`https://mhankbarbar.herokuapp.com/api/pussy`)).json()3530 var hasil = await getBuffer(json.result)3531 await fs.writeFileSync(__path + '/tmp/bokep.png', hasil)35323533 res.sendFile(__path + '/tmp/bokep.png')3534 } catch (e) {3535 console.log(e)3536 res.sendFile(error)3537 }3538})35393540router.get('/googleimage', async (req, res, next) => {3541 var q = req.query.q,3542 apikeyInput = req.query.apikey;35433544 if(!apikeyInput) return res.json(loghandler.notparam)3545 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3546 if (!q) return res.json(loghandler.notquery)35473548 try {3549 var json = await (await fetch(`https://api.fdci.se/rep.php?gambar=${q}`)).json()3550 var body = JSON.parse(JSON.stringify(json))3551 var tada = body[Math.floor(Math.random() * body.length)]3552 var hasil = await getBuffer(tada)3553 await fs.writeFileSync(__path + '/tmp/image.png', hasil)35543555 res.sendFile(__path + '/tmp/image.png')3556 } catch (e) {3557 console.log(e)3558 res.sendFile(error)3559 }3560})35613562router.get('/say', async (req, res, next) => {3563 var apikeyInput = req.query.apikey,3564 text = req.query.text;35653566 if(!apikeyInput) return res.json(loghandler.notparam)3567 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)35683569 res.json({3570 status : true,3571 creator : `${creator}`,3572 result : text3573 })3574})35753576router.get('/md5', async (req, res, next) => {3577 var apikeyInput = req.query.apikey,3578 text = req.query.text;35793580 if(!apikeyInput) return res.json(loghandler.notparam)3581 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3582 if (!text) return res.json(loghandler.nottext)35833584 var result = await createHash('md5').update(text).digest('hex')3585 res.json({3586 status : true,3587 creator : `${creator}`,3588 result : result3589 })3590})35913592router.get('/tahta', async (req, res, next) => {3593 var text = req.query.text,3594 apikeyInput = req.query.apikey;35953596 if(!apikeyInput) return res.json(loghandler.notparam)3597 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3598 if (!text) return res.json(loghandler.nottext)35993600 var hasil = await (await fetch(`https://api.zeks.xyz/api/hartatahta?text=${text}&apikey=apivinz`)).buffer()3601 await fs.writeFileSync(__path + '/tmp/tahta.png', hasil)36023603 res.sendFile(__path + '/tmp/tahta.png')3604})36053606router.get('/customtahta', async (req, res, next) => {3607 var text = req.query.text,3608 apikeyInput = req.query.apikey;36093610 if(!apikeyInput) return res.json(loghandler.notparam)3611 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3612 if (!text) return res.json(loghandler.nottext)36133614 var hasil = await (await fetch(`https://api.zeks.xyz/api/tahta?text=${text}&apikey=apivinz`)).buffer()3615 await fs.writeFileSync(__path + '/tmp/cstahta.png', hasil)36163617 res.sendFile(__path + '/tmp/cstahta.png')3618})36193620router.get('/anime/random', async (req, res, next) => {3621 var apikeyInput = req.query.apikey;36223623 if(!apikeyInput) return res.json(loghandler.notparam)3624 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)36253626 try {3627 var json = await (await fetch(`https://api.fdci.se/rep.php?gambar=anime`)).json()3628 var body = JSON.parse(JSON.stringify(json))3629 var tada = body[Math.floor(Math.random() * body.length)]3630 var hasil = await getBuffer(tada)3631 await fs.writeFileSync(__path + '/tmp/anime.png', hasil)36323633 res.sendFile(__path + '/tmp/anime.png')3634 } catch (e) {3635 console.log(e)3636 res.sendFile(error)3637 }3638})36393640router.get('/kpop/random', async (req, res, next) => {3641 var apikeyInput = req.query.apikey;36423643 if(!apikeyInput) return res.json(loghandler.notparam)3644 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)36453646 try {3647 var json = await (await fetch(`https://api.fdci.se/rep.php?gambar=kpop`)).json()3648 var body = JSON.parse(JSON.stringify(json))3649 var tada = body[Math.floor(Math.random() * body.length)]3650 var hasil = await getBuffer(tada)3651 await fs.writeFileSync(__path + '/tmp/kpop.png', hasil)36523653 res.sendFile(__path + '/tmp/kpop.png')3654 } catch (e) {3655 console.log(e)3656 res.sendFile(error)3657 }3658})36593660router.get('/random/manga', async (req, res, next) => {3661 var apikeyInput = req.query.apikey;36623663 if(!apikeyInput) return res.json(loghandler.notparam)3664 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)36653666 try {3667 var json = await (await fetch(`https://api.fdci.se/rep.php?gambar=manga`)).json()3668 var body = JSON.parse(JSON.stringify(json))3669 var tada = body[Math.floor(Math.random() * body.length)]3670 var hasil = await getBuffer(tada)3671 await fs.writeFileSync(__path + '/tmp/manga.png', hasil)36723673 res.sendFile(__path + '/tmp/manga.png')3674 } catch (e) {3675 console.log(e)3676 res.sendFile(error)3677 }3678})36793680router.get('/triggered', async (req, res, next) => {3681 var img = req.query.img,3682 apikeyInput = req.query.apikey;3683 3684 if(!apikeyInput) return res.json(loghandler.notparam)3685 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3686 if (!img) return res.json(loghandler.notimg)3687 if (!img.startsWith('http')) return res.json(loghandler.invalidLink)36883689 try {3690 var result = await imageToBase64(`http://zekais-api.herokuapp.com/trigger?url=${img}`)3691 var hasil = Buffer.from(result, 'base64')3692 await fs.writeFileSync(__path + '/tmp/trigger.gif', hasil)36933694 res.sendFile(__path + '/tmp/trigger.gif')3695 } catch (e) {3696 console.log(e)3697 res.sendFile(error)3698 }3699})37003701router.get('/emojitopng', async (req, res, next) => {3702 var apikeyInput = req.query.apikey,3703 emoji = req.query.emoji;37043705try {3706 if(!apikeyInput) return res.json(loghandler.notparam)3707 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3708 if (!emoji) return res.json(loghandler.notemoji)37093710 var hasil = await (await fetch(`https://api.zeks.xyz/api/emoji-image?apikey=apivinz&emoji=${encodeURIComponent(emoji)}`)).buffer()3711 await fs.writeFileSync(__path + '/tmp/emojitopng.png', hasil)37123713 res.sendFile(__path + '/tmp/emojitopng.png')3714} catch (e) {3715 console.log(e)3716 res.sendFile(error) }3717})37183719router.get('/brainly', async (req, res, next) => {3720 var apikeyInput = req.query.apikey,3721 text = req.query.text;37223723try {3724 if(!apikeyInput) return res.json(loghandler.notparam)3725 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3726 if (!text) return res.json(loghandler.nottext)37273728 var json = await (await fetch(`https://api.zeks.xyz/api/brainly?apikey=apivinz&q=${text}&count=5`)).json()3729 res.json(json)3730 3731} catch (e) {3732 console.log(e)3733 res.sendFile(error)3734 }3735})37363737router.get('/pantun', async (req, res, next) => {3738 var apikeyInput = req.query.apikey;37393740try {3741 if(!apikeyInput) return res.json(loghandler.notparam)3742 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)37433744 var json = await (await fetch(`https://api.zeks.xyz/api/pantun?apikey=apivinz`)).json()3745 res.json(json)37463747} catch (e) {3748 console.log(e)3749 res.sendFile(error)3750 }3751})37523753router.get('/memeindo', async (req, res, next) => {3754 var apikeyInput = req.query.apikey;37553756try {3757 if(!apikeyInput) return res.json(loghandler.notparam)3758 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)37593760 var json = await (await fetch(`https://api.zeks.xyz/api/memeindo?apikey=apivinz`)).json()3761 var hasil = await getBuffer(json.result)3762 await fs.writeFileSync(__path + '/tmp/memeindo.png', hasil)37633764 res.sendFile(__path + '/tmp/memeindo.png')3765} catch (e) {3766 console.log(e)3767 res.sendFile(error)3768 }3769}) 37703771router.get('/artinama', async (req, res, next) => {3772 var apikeyInput = req.query.apikey,3773 nama = req.query.nama;37743775try {3776 if(!apikeyInput) return res.json(loghandler.notparam)3777 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3778 if (!nama) return res.json(loghandler.notnama) 37793780 request.get({3781 headers: {'content-type' : 'application/x-www-form-urlencoded'},3782 url: 'http://www.primbon.com/arti_nama.php?nama1=' + nama + '&proses=+Submit%21+',3783 }, function(error, response, body){3784 let $ = cheerio.load(body);3785 var y = $.html().split('arti:')[1];3786 var t = y.split('method="get">')[1];3787 var f = y.replace(t ," ");3788 var x = f.replace(/<br\s*[\/]?>/gi, "\n");3789 var h = x.replace(/<[^>]*>?/gm, '');37903791var result = `Arti dari namamu adalah\n\nNama *${nama}*\n${h}`3792 res.json({3793 status : true,3794 creator : `${creator}`,3795 result : result3796 })3797 })37983799} catch (e) {3800 console.log(e)3801 res.sendFile(error)3802 }3803})38043805router.get('/cekjodoh', async (req, res, next) => {3806 var apikeyInput = req.query.apikey,3807 nama = req.query.nama,3808 pasangan = req.query.pasangan;38093810try {3811 if(!apikeyInput) return res.json(loghandler.notparam)3812 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3813 if (!nama) return res.json(loghandler.notnama)3814 if (!pasangan) return res.json({ message : `Masukan nama pacarmu,, ehh pasangan :v` })38153816 request.get({3817 headers: {'content-type' : 'application/x-www-form-urlencoded'},3818 url: 'http://www.primbon.com/kecocokan_nama_pasangan.php?nama1=' + nama + '&nama2='+ pasangan +'&proses=+Submit%21+',38193820 }, function(error, response, body){3821 let $ = cheerio.load(body);3822 var y = $.html().split('<b>KECOCOKAN JODOH BERDASARKAN NAMA PASANGAN</b><br><br>')[1];3823 var t = y.split('.<br><br>')[1];3824 var f = y.replace(t ," ");3825 var x = f.replace(/<br\s*[\/]?>/gi, "\n");3826 var h = x.replace(/<[^>]*>?/gm, '');3827 var d = h.replace("&amp;", '&')38283829var result = `Kecocokan Berdasarkan Nama :\n\n${d}`3830 res.json({3831 status : true,3832 creator : `${creator}`,3833 result : result3834 })3835 })38363837} catch (e) {3838 console.log(e)3839 res.sendFile(error)3840 }3841})38423843router.get('/kuis/caklontong', async (req, res, next) => {3844 var apikeyInput = req.query.apikey3845 3846 if(!apikeyInput) return res.json(loghandler.notparam)3847 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)38483849 fetch(encodeURI(`https://api-yogipw.herokuapp.com/api/kuis/caklontong?apikey=yogipw`))3850 .then(response => response.json())3851 .then(data => {3852 var result = data;3853 res.json({3854 author: 'ZeroYT7',3855 result3856 })3857 })3858 .catch(e => {3859 res.sendFile(error)3860})3861})38623863router.get('/asupan', async (req, res, next) => {3864 var apikeyInput = req.query.apikey;38653866try {3867 if(!apikeyInput) return res.json(loghandler.notparam)3868 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)38693870 var json = await (await fetch(`http://zekais-api.herokuapp.com/ptlvid`)).json()3871 res.json(json)38723873} catch (e) {3874 console.log(e)3875 res.sendFile(error)3876 }3877})38783879router.get('/cerpen', async (req, res, next) => {3880 var apikeyInput = req.query.apikey;38813882try {3883 if(!apikeyInput) return res.json(loghandler.notparam)3884 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)38853886 var json = await (await fetch(`http://zekais-api.herokuapp.com/cerpen`)).json()3887 res.json({3888 status : true,3889 creator : creator,3890 judul : json.title,3891 pengarang : json.pengarang,3892 kategori : json.category,3893 cerpen : json.post3894 })38953896} catch (e) {3897 console.log(e)3898 res.sendFile(error)3899 }3900})39013902router.get('/mediafire', async (req, res, next) => {3903 var apikeyInput = req.query.apikey,3904 url = req.query.url;39053906try {3907 if(!apikeyInput) return res.json(loghandler.notparam)3908 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3909 if (!url) return res.json(loghandler.noturl)3910 if (!url.startsWith('http')) return res.json(loghandler.invalidLink)39113912 var json = await (await fetch(`https://api.zeks.xyz/api/mediafire?apikey=apivinz&url=${url}`)).json()3913 res.json(json)39143915} catch (e) {3916 console.log(e)3917 res.sendFile(error)3918 }3919})39203921router.get('/tts', async (req, res, next) => {3922 var text = req.query.text,3923 lang = req.query.lang,3924 apikeyInput = req.query.apikey;39253926 if(!apikeyInput) return res.json(loghandler.notparam)3927 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3928 if (!text) return res.json(loghandler.nottext)3929 if (!lang) return res.json(loghandler.notlang)3930 if (lang > 4) return res.json({ error : `Kode bahasa tidak valid!` })39313932 try {3933 var ress = await imageToBase64(`http://zekais-api.herokuapp.com/speech?lang=${lang}&text=${text}`)3934 var tts = Buffer.from(ress, 'base64')3935 await fs.writeFileSync(__path + '/tmp/tts.opus', tts)39363937 res.sendFile(__path + '/tmp/tts.opus')3938 } catch (e) {3939 console.log(e)3940 res.sendFile(error)3941 }3942})39433944router.get('/darkjokes', async (req, res, next) => {3945 var apikeyInput = req.query.apikey;39463947try {3948 if(!apikeyInput) return res.json(loghandler.notparam)3949 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)39503951 var json = await (await fetch(`https://api.zeks.xyz/api/darkjokes?apikey=apivinz`)).json()3952 var hasil = await getBuffer(json.result)3953 await fs.writeFileSync(__path + '/tmp/darkjokes.png', hasil)39543955 res.sendFile(__path + '/tmp/darkjokes.png')3956} catch (e) {3957 console.log(e)3958 res.sendFile(error)3959 }3960})39613962router.get('/splaybutton', async (req, res, next) => {3963 var apikeyInput = req.query.apikey,3964 text = req.query.text;39653966try {3967 if(!apikeyInput) return res.json(loghandler.notparam)3968 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3969 if (!text) return res.json(loghandler.nottext)39703971 var hasil = await getBuffer(`https://api.zeks.xyz/api/splaybutton?text=${text}&apikey=apivinz`)3972 await fs.writeFileSync(__path + '/tmp/playbutton.png', hasil)39733974 res.sendFile(__path + '/tmp/playbutton.png')3975} catch (e) {3976 console.log(e)3977 res.sendFile(error)3978 }3979})39803981router.get('/gplaybutton', async (req, res, next) => {3982 var apikeyInput = req.query.apikey,3983 text = req.query.text;39843985try {3986 if(!apikeyInput) return res.json(loghandler.notparam)3987 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)3988 if (!text) return res.json(loghandler.nottext)39893990 var hasil = await getBuffer(`https://api.zeks.xyz/api/gplaybutton?text=${text}&apikey=apivinz`)3991 await fs.writeFileSync(__path + '/tmp/playbutton2.png', hasil)39923993 res.sendFile(__path + '/tmp/playbutton2.png')3994} catch (e) {3995 console.log(e)3996 res.sendFile(error)3997 }3998})39994000router.get('/textpantai', async (req, res, next) => {4001 var apikeyInput = req.query.apikey,4002 text = req.query.text;40034004try {4005 if(!apikeyInput) return res.json(loghandler.notparam)4006 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4007 if (!text) return res.json(loghandler.nottext)40084009 var hasil = await getBuffer(`https://api.zeks.xyz/api/sandw?apikey=apivinz&text=${text}`)4010 await fs.writeFileSync(__path + '/tmp/pantai.png', hasil)40114012 res.sendFile(__path + '/tmp/pantai.png')4013} catch (e) {4014 console.log(e)4015 res.sendFile(error)4016 }4017})40184019router.get('/textsalju', async (req, res, next) => {4020 var apikeyInput = req.query.apikey,4021 t1 = req.query.t1,4022 t2 = req.query.t2;40234024try {4025 if(!apikeyInput) return res.json(loghandler.notparam)4026 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4027 if (!t1) return res.json(loghandler.nottext)4028 if (!t2) return res.json(loghandler.nottext2)40294030 var json = await (await fetch(`https://api.zeks.xyz/api/snowwrite?text1=${t1}&text2=${t2}&apikey=apivinz`)).json()4031 await fs.writeFileSync(__path + '/tmp/salju.png', await getBuffer(json.result))40324033 res.sendFile(__path + '/tmp/salju.png')4034} catch (e) {4035 console.log(e)4036 res.sendFile(error)4037 }4038})40394040router.get('/alay', async (req, res, next) => {4041 var kata = req.query.kata,4042 apikeyInput = req.query.apikey;40434044try {4045 if(!apikeyInput) return res.json(loghandler.notparam)4046 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4047 if (!kata) return res.json(loghandler.notkata)4048 var json = await (await fetch(`https://api.terhambar.com/bpk?kata=${kata}`)).json()4049 res.json({4050 status : true,4051 creator : creator,4052 result : json.text4053 })40544055} catch (e) {4056 console.log(e)4057 res.sendFile(error)4058 }4059})40604061router.get('/firework', async (req, res, next) => {4062 var apikeyInput = req.query.apikey,4063 text = req.query.text;40644065try {4066 if(!apikeyInput) return res.json(loghandler.notparam)4067 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4068 if (!text) return res.json(loghandler.nottext)40694070 var hasil = await getBuffer(`https://api.zeks.xyz/api/tfire?text=${text}&apikey=apivinz`)4071 await fs.writeFileSync(__path + '/tmp/firework.png', hasil)40724073 res.sendFile(__path + '/tmp/firework.png')4074} catch (e) {4075 console.log(e)4076 res.sendFile(error)4077 }4078})40794080router.get('/retro', async (req, res, next) => {4081 var apikeyInput = req.query.apikey,4082 t1 = req.query.t1,4083 t2 = req.query.t2,4084 t3 = req.query.t3;40854086try {4087 if(!apikeyInput) return res.json(loghandler.notparam)4088 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4089 if (!t1) return res.json(loghandler.nottext)4090 if (!t2) return res.json(loghandler.nottext2)4091 if (!t3) return res.json(loghandler.nottext3)40924093 var json = await (await fetch(`https://api.zeks.xyz/api/retro?text1=${t1}&text2=${t2}&text3=${t3}&apikey=apivinz`)).json()4094 await fs.writeFileSync(__path + '/tmp/retro.png', await getBuffer(json.result))40954096 res.sendFile(__path + '/tmp/retro.png')4097} catch (e) {4098 console.log(e)4099 res.sendFile(error)4100 }4101})41024103router.get('/matrix', async (req, res, next) => {4104 var apikeyInput = req.query.apikey,4105 text = req.query.text;41064107try {4108 if(!apikeyInput) return res.json(loghandler.notparam)4109 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4110 if (!text) return res.json(loghandler.nottext)41114112 var hasil = await getBuffer(`https://api.zeks.xyz/api/matrix?apikey=apivinz&text=${text}`)4113 await fs.writeFileSync(__path + '/tmp/matrix.png', hasil)41144115 res.sendFile(__path + '/tmp/matrix.png')4116} catch (e) {4117 console.log(e)4118 res.sendFile(error)4119 }4120})41214122router.get('/text3d', async (req, res, next) => {4123 var apikeyInput = req.query.apikey,4124 text = req.query.text;41254126try {4127 if(!apikeyInput) return res.json(loghandler.notparam)4128 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4129 if (!text) return res.json(loghandler.nottext)41304131 var hasil = await getBuffer(`https://api.zeks.xyz/api/text3dbox?apikey=apivinz&text=${text}`)4132 await fs.writeFileSync(__path + '/tmp/3d.png', hasil)41334134 res.sendFile(__path + '/tmp/3d.png')4135} catch (e) {4136 console.log(e)4137 res.sendFile(error)4138 }4139})41404141router.get('/kuis/family100', async (req, res, next) => {4142 var apikeyInput = req.query.apikey41434144 if(!apikeyInput) return res.json(loghandler.notparam)4145 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)41464147 fetch(encodeURI(`https://raw.githubusercontent.com/reyhangans/Zhirrr-Api/main/lib/family100.json`))4148 .then(response => response.json())4149 .then(data => {4150 var result = data;4151 res.json({4152 result 4153 })4154 })4155 .catch(e => {4156 res.json(loghandler.error)4157})4158})41594160router.get('/pornlogo', async (req, res, next) => {4161 var apikeyInput = req.query.apikey,4162 t1 = req.query.t1,4163 t2 = req.query.t2;41644165try {4166 if(!apikeyInput) return res.json(loghandler.notparam)4167 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4168 if (!t1) return res.json(loghandler.nottext)4169 if (!t2) return res.json(loghandler.nottext2)41704171 var hasil = await getBuffer(`https://api.zeks.xyz/api/phlogo?text1=${t1}&text2=${t2}&apikey=apivinz`)4172 await fs.writeFileSync(__path + '/tmp/pornhub.png', hasil)41734174 res.sendFile(__path + '/tmp/pornhub.png')4175} catch (e) {4176 console.log(e)4177 res.sendFile(error)4178 }4179})41804181router.get('/marvel', async (req, res, next) => {4182 var apikeyInput = req.query.apikey,4183 t1 = req.query.t1,4184 t2 = req.query.t2;4185try {4186 if(!apikeyInput) return res.json(loghandler.notparam)4187 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4188 if (!t1) return res.json(loghandler.nottext)4189 if (!t2) return res.json(loghandler.nottext2)41904191 var hasil = await getBuffer(`https://api.zeks.xyz/api/marvellogo?text1=${t1}&text2=${t2}&apikey=apivinz`)4192 await fs.writeFileSync(__path + '/tmp/marvel.png', hasil)41934194 res.sendFile(__path + '/tmp/marvel.png')4195} catch (e) {4196 console.log(e)4197 res.sendFile(error)4198 }4199})42004201router.get('/blackpink', async (req, res, next) => {4202 var apikeyInput = req.query.apikey,4203 text = req.query.text;42044205try {4206 if(!apikeyInput) return res.json(loghandler.notparam)4207 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4208 if (!text) return res.json(loghandler.nottext)42094210 var hasil = await getBuffer(`https://api.zeks.xyz/api/logobp?text=${text}&apikey=apivinz`)4211 await fs.writeFileSync(__path + '/tmp/bp.png', hasil)42124213 res.sendFile(__path + '/tmp/bp.png')4214} catch (e) {4215 console.log(e)4216 res.sendFile(error)4217 }4218})42194220router.get('/avengers', async (req, res, next) => {4221 var apikeyInput = req.query.apikey,4222 t1 = req.query.t1,4223 t2 = req.query.t2;4224try {4225 if(!apikeyInput) return res.json(loghandler.notparam)4226 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4227 if (!t1) return res.json(loghandler.nottext)4228 if (!t2) return res.json(loghandler.nottext2)42294230 var hasil = await getBuffer(`https://api.zeks.xyz/api/logoaveng?text1=${t1}&text2=${t2}&apikey=apivinz`)4231 await fs.writeFileSync(__path + '/tmp/avenger.png', hasil)42324233 res.sendFile(__path + '/tmp/avenger.png')4234} catch (e) {4235 console.log(e)4236 res.sendFile(error)4237 }4238})42394240router.get('/thunder', async (req, res, next) => {4241 var apikeyInput = req.query.apikey,4242 text = req.query.text;42434244try {4245 if(!apikeyInput) return res.json(loghandler.notparam)4246 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4247 if (!text) return res.json(loghandler.nottext)42484249 var hasil = await getBuffer(`https://api.zeks.xyz/api/thundertext?text=${text}&apikey=apivinz`)4250 await fs.writeFileSync(__path + '/tmp/thunder.png', hasil)42514252 res.sendFile(__path + '/tmp/thunder.png')4253} catch (e) {4254 console.log(e)4255 res.sendFile(error)4256 }4257})42584259router.get('/news', async (req, res) => {4260 var apikeyInput = req.query.apikey;42614262 if(!apikeyInput) return res.json(loghandler.notparam)4263 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)42644265 var data = fs.readFileSync(__path + '/lib/utils/news.js')4266 var json = JSON.parse(data)42674268 res.json(json)4269})42704271router.get('/ssweb', async (req, res, next) => {4272 var apikeyInput = req.query.apikey,4273 url = req.query.url;42744275try {4276 if(!apikeyInput) return res.json(loghandler.notparam)4277 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4278 if (!url) return res.json(loghandler.noturl)4279 if (!url.startsWith('http')) return res.json(loghandler.invalidLink)42804281 var hasil = await getBuffer(`http://nurutomo.herokuapp.com/api/ssweb?url=${url}`)4282 await fs.writeFileSync(__path + '/tmp/screenshot.png', hasil)42834284 res.sendFile(__path + '/tmp/screenshot.png')4285} catch (e) {4286 console.log(e)4287 res.sendFile(error)4288 }4289})42904291router.get('/calculator', async (req, res) => {4292 var angka = req.query.angka,4293 apikeyInput = req.query.apikey;42944295 if(!apikeyInput) return res.json(loghandler.notparam)4296 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4297 if (!angka) return res.json(loghanlder.notangka)42984299 var val = angka4300 .replace(/[^0-9\-\/+*×÷πEe()piPI/]/g, '')4301 .replace(/×/g, '*')4302 .replace(/÷/g, '/')4303 .replace(/π|pi/gi, 'Math.PI')4304 .replace(/e/gi, 'Math.E')4305 .replace(/\/+/g, '/')4306 .replace(/\++/g, '+')4307 .replace(/-+/g, '-')4308 var format = val4309 .replace(/Math\.PI/g, 'π')4310 .replace(/Math\.E/g, 'e')4311 .replace(/\//g, '÷')4312 .replace(/\*×/g, '×')4313 try {4314 console.log(val)4315 var result = (new Function('return ' + val))()4316 if (!result) res.json({ message : result })43174318 res.json({4319 status : true,4320 creator : creator,4321 result : result4322 })4323 } catch (e) {4324 if (e == undefined) res.json({ error : `Kesalahan Terjadi!` })4325 res.json({ message : `Format salah, hanya 0-9 dan Simbol -, +, *, /, ×, ÷, π, e, (, ) yang disupport` })4326 }4327})43284329router.get('/hd', async (req, res) => {4330 var img = req.query.img,4331 apikeyInput = req.query.apikey;43324333 if(!apikeyInput) return res.json(loghandler.notparam)4334 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4335 if (!img) return res.json(loghandler.notimg)4336 if (!img.startsWith('http')) return res.json(loghandler.invalidLink)43374338try {4339 var media = await getBuffer(img)4340 var body = new FormData4341 body.append('image', media, 'image')4342 var ress = await fetch('http://max-image-resolution-enhancer.codait-prod-41208c73af8fca213512856c7a09db52-0000.us-east.containers.appdomain.cloud/model/predict', {4343 method: 'POST',4344 body4345 })4346 if (ress.status !== 200) return await res.json(ress)4347 await fs.writeFileSync(__path + '/tmp/hd.png', await ress.buffer())43484349 res.sendFile(__path + '/tmp/hd.png')4350 } catch (e) {4351 console.log(e)4352 res.sendFile(error)4353 }4354})43554356router.get('/dare', async (req, res, next) => {4357 var apikeyInput = req.query.apikey;43584359try {4360 if(!apikeyInput) return res.json(loghandler.notparam)4361 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)43624363 var json = await (await fetch(`https://xptnbotapinew.herokuapp.com/?dare&apikey=xptn`)).json()43644365 res.json({4366 status : true,4367 creator : creator,4368 result : json.Dare4369 })4370} catch (e) {4371 console.log(e)4372 res.sendFile(error)4373 }4374})43754376router.get('/quotemaker', async (req, res, next) => {4377 var quote = req.query.quote,4378 author = req.query.author,4379 theme = req.query.theme,4380 apikeyInput = req.query.apikey;43814382try {4383 if(!apikeyInput) return res.json(loghandler.notparam)4384 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4385 if (!quote) return res.json({ message : `Masukan parameter quote (kata quotes)` })4386 if (!author) return res.json({ message : `Masukan parameter author` })4387 if (!theme) return res.json(loghandler.nottheme)43884389 var json = await (await fetch(`https://terhambar.com/aw/qts/?kata=${quote}&author=${author}&tipe=${theme}`)).json()4390 await fs.writeFileSync(__path + '/tmp/quotemaker.png', await getBuffer(json.result))43914392 res.sendFile(__path + '/tmp/quotemaker.png')4393} catch (e) {4394 console.log(e)4395 res.sendFile(error)4396 }4397})43984399router.get('/attp', async (req, res, next) => {4400 var text = req.query.text,4401 apikeyInput = req.query.apikey;4402 4403 if(!apikeyInput) return res.json(loghandler.notparam)4404 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4405 if (!text) return res.json(loghandler.nottext)44064407 try {4408 var result = await imageToBase64(`https://api.xteam.xyz/attp?file&text=${text}`)4409 var hasil = Buffer.from(result, 'base64')4410 await fs.writeFileSync(__path + '/tmp/attp.webp', hasil)44114412 res.sendFile(__path + '/tmp/attp.webp')4413 } catch (e) {4414 console.log(e)4415 res.sendFile(error)4416 }4417})44184419router.get('/ttp2', async (req, res, next) => {4420 var text = req.query.text,4421 apikeyInput = req.query.apikey;4422 4423 if(!apikeyInput) return res.json(loghandler.notparam)4424 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4425 if (!text) return res.json(loghandler.nottext)44264427 try {4428 var result = await imageToBase64(`https://api.xteam.xyz/ttp?file&text=${text}`)4429 var hasil = Buffer.from(result, 'base64')4430 await fs.writeFileSync(__path + '/tmp/ttp.webp', hasil)44314432 res.sendFile(__path + '/tmp/ttp.webp')4433 } catch (e) {4434 console.log(e)4435 res.sendFile(error)4436 }4437})44384439router.get('/futureneon', async (req, res, next) => {4440 var text = req.query.text,4441 apikeyInput = req.query.apikey;4442 4443 if(!apikeyInput) return res.json(loghandler.notparam)4444 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4445 if (!text) return res.json(loghandler.nottext)44464447 try {4448 request.post({4449 url: "https://textpro.me/create-a-futuristic-technology-neon-light-text-effect-1006.html",4450 headers: {4451 'Content-Type': 'application/x-www-form-urlencoded'4452 },4453 body: `text_1=${text}&login=OK`,4454 }, (e,r,b) => {4455 if (!e) {4456 var $ = cheerio.load(b)4457 $('.thumbnail').find('img').each(function() {4458 h = $(this).attr("src")4459 var result = 'https://textpro.me/save-images/'+h4460 fetch(encodeURI(`https://api.imgbb.com/1/upload?expiration=120&key=93f5c8966cfaf3ca19051ee9f85c14f3&image=${result}&name=${randomTextNumber}`))4461 .then(response => response.json())4462 .then(data => {4463 res.json({4464 status: true,4465 creator : creator,4466 result : data.data.url4467 })4468 })4469 })4470 }4471 })4472 } catch (e) {4473 console.log(e);4474 res.sendFile(error)4475 }4476})44774478router.get('/spotify', async (req, res, next) => {4479 var apikeyInput = req.query.apikey,4480 q = req.query.q;44814482try {4483 if(!apikeyInput) return res.json(loghandler.notparam)4484 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4485 if (!q) return res.json(loghandler.notquery)44864487 var json = await (await fetch(`https://api.zeks.xyz/api/spotify?apikey=apivinz&q=${q}`)).json()44884489 res.json(json)4490} catch (e) {4491 console.log(e)4492 res.sendFile(error)4493 }4494})44954496router.get('/instagram', async (req, res, next) => {4497 var apikeyInput = req.query.apikey,4498 url = req.query.url;44994500try {4501 if(!apikeyInput) return res.json(loghandler.notparam)4502 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4503 if (!url) return res.json(loghandler.noturl)4504 if (!url.startsWith('http')) return res.json(logahndler.invalidLink)45054506 var json = await (await fetch(`https://api-anoncybfakeplayer.herokuapp.com/igdown?url=${url}`)).json()45074508 res.json(json)4509} catch (e) {4510 console.log(e)4511 res.sendFile(error)4512 }4513})45144515router.get('/towebp', async (req, res, next) => {4516 var apikeyInput = req.query.apikey,4517 url = req.query.url;45184519try {4520 if(!apikeyInput) return res.json(loghandler.notparam)4521 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4522 if (!url) return res.json(loghandler.noturl)4523 if (!url.startsWith('http')) return res.json(logahndler.invalidLink)45244525 var json = await (await fetch(`http://zekais-api.herokuapp.com/pngtowebp?url=${url}`)).json()45264527 res.json({4528 status : true,4529 creator : creator,4530 result : json.result4531 })4532} catch (e) {4533 console.log(e)4534 res.sendFile(error)4535 }4536})45374538router.get('/math', async (req, res, next) => {4539 var apikeyInput = req.query.apikey,4540 mode = req.query.mode;45414542try {4543 if(!apikeyInput) return res.json(loghandler.notparam)4544 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4545 if (!mode) return res.json({ message : `Silahkan masukan modenya,, Mode tersedia : 1. very_easy, 2. easy, 3. medium, 4. hard, 5. extreme, 6. impossible` })45464547 var json = await (await fetch(`http://zekais-api.herokuapp.com/math?mode=${mode}`)).json()45484549 res.json({4550 status : true,4551 creator : creator,4552 info : json.message,4553 soal : json.soal,4554 jawaban : json.jawaban,4555 poin : 250004556 })4557} catch (e) {4558 console.log(e)4559 res.sendFile(error)4560 }4561})45624563router.get('/math2', async (req, res, next) => {4564 var apikeyInput = req.query.apikey;45654566try {4567 if(!apikeyInput) return res.json(loghandler.notparam)4568 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)45694570 var json = await (await fetch(`https://salism3api.pythonanywhere.com/math`)).json()45714572 res.json({4573 status : true,4574 creator : creator,4575 soal : json.image,4576 jawaban : json.answer,4577 poin : 500004578 })4579} catch (e) {4580 console.log(e)4581 res.sendFile(error)4582 }4583})45844585router.get('/toimg', async (req, res, next) => {4586 var webp = req.query.webp,4587 apikeyInput = req.query.apikey;45884589try {4590 if(!apikeyInput) return res.json(loghandler.notparam)4591 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4592 if (!webp) return res.json(loghandler.notimg)4593 if (!webp.startsWith('http')) return res.json(loghandler.invalidLink)45944595 var img = await getBuffer(webp)4596 var bufs = []4597 var im = spawn('convert', ['webp:-', 'png:-'])4598 im.on('error',e => res.sendFile(error))4599 im.stdout.on('data', chunk => bufs.push(chunk))4600 im.stdin.write(img)4601 im.stdin.end()4602 im.on('exit', () => {4603 var encmedia = imageToBase64(Buffer.concat(bufs))4604 var media = Buffer.from(encmedia, 'base64')4605 fs.writeFileSync(__path + '/tmp/toimg.png', media)46064607 res.sendFile(__path + '/tmp/toimg.png')4608 })4609} catch (e) {4610 console.log(e)4611 res.sendFile(error)4612 }4613})46144615router.get('/qrcode', async (req, res, next) => {4616 var text = req.query.text,4617 apikeyInput = req.query.apikey;46184619try {4620 if(!apikeyInput) return res.json(loghandler.notparam)4621 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4622 if (!text) return res.json(loghandler.nottext)46234624 var qr = await qrcode.toDataURL(text.slice(0, 2048), { scale: 8 })4625 var hasil = qr.split`,`[1]4626 await fs.writeFileSync(__path + '/tmp/qr.png', hasil, 'base64')4627 res.sendFile(__path + '/tmp/qr.png')4628} catch (e) {4629 console.log(e)4630 res.sendFile(error)4631 }4632})46334634router.get('/imgbb', async (req, res, next) => {4635 var url = req.query.url,4636 apikeyInput = req.query.apikey;46374638try {4639 if(!apikeyInput) return res.json(loghandler.notparam)4640 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4641 if (!url) return res.json(loghandler.noturl)4642 if (!url.startsWith('http')) return res.json(loghandler.invalidLink)46434644 var json = await (await fetch(`https://api.imgbb.com/1/upload?expiration=180&key=761ea2d5575581057a799d14e9c78e28&image=${url}&name=imgbb-uploader`)).json()46454646 res.json({4647 status : true,4648 creator : creator,4649 info : 'url otomatis akan hilang dalam 3 menit',4650 url : json.data.url_viewer,4651 display_url : json.data.url,4652 delete_url : json.data.delete_url4653 })4654} catch (e) {4655 console.log(e)4656 res.sendFile(error)4657 }4658})46594660router.get('/createcode', async (req, res, next) => {4661 var text = req.query.text,4662 apikeyInput = req.query.apikey;46634664try {4665 if(!apikeyInput) return res.json(loghandler.notparam)4666 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4667 if (!text) return res.json(loghandler.nottext)46684669 var len = 254670 var arr = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ9876543210'4671 var random = ''4672 var random2 = ''46734674 for (var i = len; i > 0; i--) {4675 random += arr[Math.floor(Math.random() * arr.length)];4676 }4677 var lenn = 104678 var code = '';4679 for (var i = lenn; i > 0; i--) {4680 random2 += arr[Math.floor(Math.random() * arr.length)];4681 }4682 var encode = random + random2 + code46834684 res.json({4685 status : true,4686 creator : creator,4687 text : text,4688 code : encode4689 })4690} catch (e) {4691 console.log(e)4692 res.sendFile(error)4693 }4694})46954696router.get('/bucin', async (req, res, next) => {4697 apikeyInput = req.query.apikey;46984699try {4700 if(!apikeyInput) return res.json(loghandler.notparam)4701 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)47024703 var json = await (await fetch(`http://zekais-api.herokuapp.com/bucin`)).json()47044705 res.json({4706 status : true,4707 creator : creator,4708 bucin : json.result4709 })4710} catch (e) {4711 console.log(e)4712 res.sendFile(error)4713 }4714})47154716router.get('/memegen', async (req, res, next) => {4717 var img = req.query.img,4718 t1 = req.query.t1,4719 t2 = req.query.t2;4720 apikeyInput = req.query.apikey;47214722try {4723 if(!apikeyInput) return res.json(loghandler.notparam)4724 if(apikeyInput !== `${key}`) return res.sendFile(invalidKey)4725 if(!img) return res.json(loghandler.notimg)4726 if(!t1) return res.json(loghandler.nottext)4727 if(!t2) return res.json(loghandler.nottext2)4728 if (!img.startsWith('http')) return res.json(loghandler.invalidLink)47294730 var hasil = await (await fetch(`http://zekais-api.herokuapp.com/mgen?text1=${t1}&text2=${t2}&url=${img}`)).buffer()4731 await fs.writeFileSync(__path + '/tmp/memegen.png', hasil)47324733 res.sendFile(__path + '/tmp/memegen.png')4734 4735} catch (e) {4736 console.log(e)4737 res.sendFile(error)4738 }4739})474047414742// End of script ...

Full Screen

Full Screen

test_sendfile.py

Source:test_sendfile.py Github

copy

Full Screen

1"""Tests for sendfile functionality."""2import asyncio3import os4import socket5import sys6import tempfile7import unittest8from asyncio import base_events9from asyncio import constants10from unittest import mock11from test import support12from test.test_asyncio import utils as test_utils13try:14 import ssl15except ImportError:16 ssl = None17def tearDownModule():18 asyncio.set_event_loop_policy(None)19class MySendfileProto(asyncio.Protocol):20 def __init__(self, loop=None, close_after=0):21 self.transport = None22 self.state = 'INITIAL'23 self.nbytes = 024 if loop is not None:25 self.connected = loop.create_future()26 self.done = loop.create_future()27 self.data = bytearray()28 self.close_after = close_after29 def connection_made(self, transport):30 self.transport = transport31 assert self.state == 'INITIAL', self.state32 self.state = 'CONNECTED'33 if self.connected:34 self.connected.set_result(None)35 def eof_received(self):36 assert self.state == 'CONNECTED', self.state37 self.state = 'EOF'38 def connection_lost(self, exc):39 assert self.state in ('CONNECTED', 'EOF'), self.state40 self.state = 'CLOSED'41 if self.done:42 self.done.set_result(None)43 def data_received(self, data):44 assert self.state == 'CONNECTED', self.state45 self.nbytes += len(data)46 self.data.extend(data)47 super().data_received(data)48 if self.close_after and self.nbytes >= self.close_after:49 self.transport.close()50class MyProto(asyncio.Protocol):51 def __init__(self, loop):52 self.started = False53 self.closed = False54 self.data = bytearray()55 self.fut = loop.create_future()56 self.transport = None57 def connection_made(self, transport):58 self.started = True59 self.transport = transport60 def data_received(self, data):61 self.data.extend(data)62 def connection_lost(self, exc):63 self.closed = True64 self.fut.set_result(None)65 async def wait_closed(self):66 await self.fut67class SendfileBase:68 # 128 KiB plus small unaligned to buffer chunk69 DATA = b"SendfileBaseData" * (1024 * 8 + 1)70 # Reduce socket buffer size to test on relative small data sets.71 BUF_SIZE = 4 * 1024 # 4 KiB72 def create_event_loop(self):73 raise NotImplementedError74 @classmethod75 def setUpClass(cls):76 with open(support.TESTFN, 'wb') as fp:77 fp.write(cls.DATA)78 super().setUpClass()79 @classmethod80 def tearDownClass(cls):81 support.unlink(support.TESTFN)82 super().tearDownClass()83 def setUp(self):84 self.file = open(support.TESTFN, 'rb')85 self.addCleanup(self.file.close)86 self.loop = self.create_event_loop()87 self.set_event_loop(self.loop)88 super().setUp()89 def tearDown(self):90 # just in case if we have transport close callbacks91 if not self.loop.is_closed():92 test_utils.run_briefly(self.loop)93 self.doCleanups()94 support.gc_collect()95 super().tearDown()96 def run_loop(self, coro):97 return self.loop.run_until_complete(coro)98class SockSendfileMixin(SendfileBase):99 @classmethod100 def setUpClass(cls):101 cls.__old_bufsize = constants.SENDFILE_FALLBACK_READBUFFER_SIZE102 constants.SENDFILE_FALLBACK_READBUFFER_SIZE = 1024 * 16103 super().setUpClass()104 @classmethod105 def tearDownClass(cls):106 constants.SENDFILE_FALLBACK_READBUFFER_SIZE = cls.__old_bufsize107 super().tearDownClass()108 def make_socket(self, cleanup=True):109 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)110 sock.setblocking(False)111 if cleanup:112 self.addCleanup(sock.close)113 return sock114 def reduce_receive_buffer_size(self, sock):115 # Reduce receive socket buffer size to test on relative116 # small data sets.117 sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, self.BUF_SIZE)118 def reduce_send_buffer_size(self, sock, transport=None):119 # Reduce send socket buffer size to test on relative small data sets.120 # On macOS, SO_SNDBUF is reset by connect(). So this method121 # should be called after the socket is connected.122 sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, self.BUF_SIZE)123 if transport is not None:124 transport.set_write_buffer_limits(high=self.BUF_SIZE)125 def prepare_socksendfile(self):126 proto = MyProto(self.loop)127 port = support.find_unused_port()128 srv_sock = self.make_socket(cleanup=False)129 srv_sock.bind((support.HOST, port))130 server = self.run_loop(self.loop.create_server(131 lambda: proto, sock=srv_sock))132 self.reduce_receive_buffer_size(srv_sock)133 sock = self.make_socket()134 self.run_loop(self.loop.sock_connect(sock, ('127.0.0.1', port)))135 self.reduce_send_buffer_size(sock)136 def cleanup():137 if proto.transport is not None:138 # can be None if the task was cancelled before139 # connection_made callback140 proto.transport.close()141 self.run_loop(proto.wait_closed())142 server.close()143 self.run_loop(server.wait_closed())144 self.addCleanup(cleanup)145 return sock, proto146 def test_sock_sendfile_success(self):147 sock, proto = self.prepare_socksendfile()148 ret = self.run_loop(self.loop.sock_sendfile(sock, self.file))149 sock.close()150 self.run_loop(proto.wait_closed())151 self.assertEqual(ret, len(self.DATA))152 self.assertEqual(proto.data, self.DATA)153 self.assertEqual(self.file.tell(), len(self.DATA))154 def test_sock_sendfile_with_offset_and_count(self):155 sock, proto = self.prepare_socksendfile()156 ret = self.run_loop(self.loop.sock_sendfile(sock, self.file,157 1000, 2000))158 sock.close()159 self.run_loop(proto.wait_closed())160 self.assertEqual(proto.data, self.DATA[1000:3000])161 self.assertEqual(self.file.tell(), 3000)162 self.assertEqual(ret, 2000)163 def test_sock_sendfile_zero_size(self):164 sock, proto = self.prepare_socksendfile()165 with tempfile.TemporaryFile() as f:166 ret = self.run_loop(self.loop.sock_sendfile(sock, f,167 0, None))168 sock.close()169 self.run_loop(proto.wait_closed())170 self.assertEqual(ret, 0)171 self.assertEqual(self.file.tell(), 0)172 def test_sock_sendfile_mix_with_regular_send(self):173 buf = b"mix_regular_send" * (4 * 1024) # 64 KiB174 sock, proto = self.prepare_socksendfile()175 self.run_loop(self.loop.sock_sendall(sock, buf))176 ret = self.run_loop(self.loop.sock_sendfile(sock, self.file))177 self.run_loop(self.loop.sock_sendall(sock, buf))178 sock.close()179 self.run_loop(proto.wait_closed())180 self.assertEqual(ret, len(self.DATA))181 expected = buf + self.DATA + buf182 self.assertEqual(proto.data, expected)183 self.assertEqual(self.file.tell(), len(self.DATA))184class SendfileMixin(SendfileBase):185 # Note: sendfile via SSL transport is equal to sendfile fallback186 def prepare_sendfile(self, *, is_ssl=False, close_after=0):187 port = support.find_unused_port()188 srv_proto = MySendfileProto(loop=self.loop,189 close_after=close_after)190 if is_ssl:191 if not ssl:192 self.skipTest("No ssl module")193 srv_ctx = test_utils.simple_server_sslcontext()194 cli_ctx = test_utils.simple_client_sslcontext()195 else:196 srv_ctx = None197 cli_ctx = None198 srv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)199 srv_sock.bind((support.HOST, port))200 server = self.run_loop(self.loop.create_server(201 lambda: srv_proto, sock=srv_sock, ssl=srv_ctx))202 self.reduce_receive_buffer_size(srv_sock)203 if is_ssl:204 server_hostname = support.HOST205 else:206 server_hostname = None207 cli_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)208 cli_sock.connect((support.HOST, port))209 cli_proto = MySendfileProto(loop=self.loop)210 tr, pr = self.run_loop(self.loop.create_connection(211 lambda: cli_proto, sock=cli_sock,212 ssl=cli_ctx, server_hostname=server_hostname))213 self.reduce_send_buffer_size(cli_sock, transport=tr)214 def cleanup():215 srv_proto.transport.close()216 cli_proto.transport.close()217 self.run_loop(srv_proto.done)218 self.run_loop(cli_proto.done)219 server.close()220 self.run_loop(server.wait_closed())221 self.addCleanup(cleanup)222 return srv_proto, cli_proto223 @unittest.skipIf(sys.platform == 'win32', "UDP sockets are not supported")224 def test_sendfile_not_supported(self):225 tr, pr = self.run_loop(226 self.loop.create_datagram_endpoint(227 asyncio.DatagramProtocol,228 family=socket.AF_INET))229 try:230 with self.assertRaisesRegex(RuntimeError, "not supported"):231 self.run_loop(232 self.loop.sendfile(tr, self.file))233 self.assertEqual(0, self.file.tell())234 finally:235 # don't use self.addCleanup because it produces resource warning236 tr.close()237 def test_sendfile(self):238 srv_proto, cli_proto = self.prepare_sendfile()239 ret = self.run_loop(240 self.loop.sendfile(cli_proto.transport, self.file))241 cli_proto.transport.close()242 self.run_loop(srv_proto.done)243 self.assertEqual(ret, len(self.DATA))244 self.assertEqual(srv_proto.nbytes, len(self.DATA))245 self.assertEqual(srv_proto.data, self.DATA)246 self.assertEqual(self.file.tell(), len(self.DATA))247 def test_sendfile_force_fallback(self):248 srv_proto, cli_proto = self.prepare_sendfile()249 def sendfile_native(transp, file, offset, count):250 # to raise SendfileNotAvailableError251 return base_events.BaseEventLoop._sendfile_native(252 self.loop, transp, file, offset, count)253 self.loop._sendfile_native = sendfile_native254 ret = self.run_loop(255 self.loop.sendfile(cli_proto.transport, self.file))256 cli_proto.transport.close()257 self.run_loop(srv_proto.done)258 self.assertEqual(ret, len(self.DATA))259 self.assertEqual(srv_proto.nbytes, len(self.DATA))260 self.assertEqual(srv_proto.data, self.DATA)261 self.assertEqual(self.file.tell(), len(self.DATA))262 def test_sendfile_force_unsupported_native(self):263 if sys.platform == 'win32':264 if isinstance(self.loop, asyncio.ProactorEventLoop):265 self.skipTest("Fails on proactor event loop")266 srv_proto, cli_proto = self.prepare_sendfile()267 def sendfile_native(transp, file, offset, count):268 # to raise SendfileNotAvailableError269 return base_events.BaseEventLoop._sendfile_native(270 self.loop, transp, file, offset, count)271 self.loop._sendfile_native = sendfile_native272 with self.assertRaisesRegex(asyncio.SendfileNotAvailableError,273 "not supported"):274 self.run_loop(275 self.loop.sendfile(cli_proto.transport, self.file,276 fallback=False))277 cli_proto.transport.close()278 self.run_loop(srv_proto.done)279 self.assertEqual(srv_proto.nbytes, 0)280 self.assertEqual(self.file.tell(), 0)281 def test_sendfile_ssl(self):282 srv_proto, cli_proto = self.prepare_sendfile(is_ssl=True)283 ret = self.run_loop(284 self.loop.sendfile(cli_proto.transport, self.file))285 cli_proto.transport.close()286 self.run_loop(srv_proto.done)287 self.assertEqual(ret, len(self.DATA))288 self.assertEqual(srv_proto.nbytes, len(self.DATA))289 self.assertEqual(srv_proto.data, self.DATA)290 self.assertEqual(self.file.tell(), len(self.DATA))291 def test_sendfile_for_closing_transp(self):292 srv_proto, cli_proto = self.prepare_sendfile()293 cli_proto.transport.close()294 with self.assertRaisesRegex(RuntimeError, "is closing"):295 self.run_loop(self.loop.sendfile(cli_proto.transport, self.file))296 self.run_loop(srv_proto.done)297 self.assertEqual(srv_proto.nbytes, 0)298 self.assertEqual(self.file.tell(), 0)299 def test_sendfile_pre_and_post_data(self):300 srv_proto, cli_proto = self.prepare_sendfile()301 PREFIX = b'PREFIX__' * 1024 # 8 KiB302 SUFFIX = b'--SUFFIX' * 1024 # 8 KiB303 cli_proto.transport.write(PREFIX)304 ret = self.run_loop(305 self.loop.sendfile(cli_proto.transport, self.file))306 cli_proto.transport.write(SUFFIX)307 cli_proto.transport.close()308 self.run_loop(srv_proto.done)309 self.assertEqual(ret, len(self.DATA))310 self.assertEqual(srv_proto.data, PREFIX + self.DATA + SUFFIX)311 self.assertEqual(self.file.tell(), len(self.DATA))312 def test_sendfile_ssl_pre_and_post_data(self):313 srv_proto, cli_proto = self.prepare_sendfile(is_ssl=True)314 PREFIX = b'zxcvbnm' * 1024315 SUFFIX = b'0987654321' * 1024316 cli_proto.transport.write(PREFIX)317 ret = self.run_loop(318 self.loop.sendfile(cli_proto.transport, self.file))319 cli_proto.transport.write(SUFFIX)320 cli_proto.transport.close()321 self.run_loop(srv_proto.done)322 self.assertEqual(ret, len(self.DATA))323 self.assertEqual(srv_proto.data, PREFIX + self.DATA + SUFFIX)324 self.assertEqual(self.file.tell(), len(self.DATA))325 def test_sendfile_partial(self):326 srv_proto, cli_proto = self.prepare_sendfile()327 ret = self.run_loop(328 self.loop.sendfile(cli_proto.transport, self.file, 1000, 100))329 cli_proto.transport.close()330 self.run_loop(srv_proto.done)331 self.assertEqual(ret, 100)332 self.assertEqual(srv_proto.nbytes, 100)333 self.assertEqual(srv_proto.data, self.DATA[1000:1100])334 self.assertEqual(self.file.tell(), 1100)335 def test_sendfile_ssl_partial(self):336 srv_proto, cli_proto = self.prepare_sendfile(is_ssl=True)337 ret = self.run_loop(338 self.loop.sendfile(cli_proto.transport, self.file, 1000, 100))339 cli_proto.transport.close()340 self.run_loop(srv_proto.done)341 self.assertEqual(ret, 100)342 self.assertEqual(srv_proto.nbytes, 100)343 self.assertEqual(srv_proto.data, self.DATA[1000:1100])344 self.assertEqual(self.file.tell(), 1100)345 def test_sendfile_close_peer_after_receiving(self):346 srv_proto, cli_proto = self.prepare_sendfile(347 close_after=len(self.DATA))348 ret = self.run_loop(349 self.loop.sendfile(cli_proto.transport, self.file))350 cli_proto.transport.close()351 self.run_loop(srv_proto.done)352 self.assertEqual(ret, len(self.DATA))353 self.assertEqual(srv_proto.nbytes, len(self.DATA))354 self.assertEqual(srv_proto.data, self.DATA)355 self.assertEqual(self.file.tell(), len(self.DATA))356 def test_sendfile_ssl_close_peer_after_receiving(self):357 srv_proto, cli_proto = self.prepare_sendfile(358 is_ssl=True, close_after=len(self.DATA))359 ret = self.run_loop(360 self.loop.sendfile(cli_proto.transport, self.file))361 self.run_loop(srv_proto.done)362 self.assertEqual(ret, len(self.DATA))363 self.assertEqual(srv_proto.nbytes, len(self.DATA))364 self.assertEqual(srv_proto.data, self.DATA)365 self.assertEqual(self.file.tell(), len(self.DATA))366 def test_sendfile_close_peer_in_the_middle_of_receiving(self):367 srv_proto, cli_proto = self.prepare_sendfile(close_after=1024)368 with self.assertRaises(ConnectionError):369 self.run_loop(370 self.loop.sendfile(cli_proto.transport, self.file))371 self.run_loop(srv_proto.done)372 self.assertTrue(1024 <= srv_proto.nbytes < len(self.DATA),373 srv_proto.nbytes)374 self.assertTrue(1024 <= self.file.tell() < len(self.DATA),375 self.file.tell())376 self.assertTrue(cli_proto.transport.is_closing())377 def test_sendfile_fallback_close_peer_in_the_middle_of_receiving(self):378 def sendfile_native(transp, file, offset, count):379 # to raise SendfileNotAvailableError380 return base_events.BaseEventLoop._sendfile_native(381 self.loop, transp, file, offset, count)382 self.loop._sendfile_native = sendfile_native383 srv_proto, cli_proto = self.prepare_sendfile(close_after=1024)384 with self.assertRaises(ConnectionError):385 self.run_loop(386 self.loop.sendfile(cli_proto.transport, self.file))387 self.run_loop(srv_proto.done)388 self.assertTrue(1024 <= srv_proto.nbytes < len(self.DATA),389 srv_proto.nbytes)390 self.assertTrue(1024 <= self.file.tell() < len(self.DATA),391 self.file.tell())392 @unittest.skipIf(not hasattr(os, 'sendfile'),393 "Don't have native sendfile support")394 def test_sendfile_prevents_bare_write(self):395 srv_proto, cli_proto = self.prepare_sendfile()396 fut = self.loop.create_future()397 async def coro():398 fut.set_result(None)399 return await self.loop.sendfile(cli_proto.transport, self.file)400 t = self.loop.create_task(coro())401 self.run_loop(fut)402 with self.assertRaisesRegex(RuntimeError,403 "sendfile is in progress"):404 cli_proto.transport.write(b'data')405 ret = self.run_loop(t)406 self.assertEqual(ret, len(self.DATA))407 def test_sendfile_no_fallback_for_fallback_transport(self):408 transport = mock.Mock()409 transport.is_closing.side_effect = lambda: False410 transport._sendfile_compatible = constants._SendfileMode.FALLBACK411 with self.assertRaisesRegex(RuntimeError, 'fallback is disabled'):412 self.loop.run_until_complete(413 self.loop.sendfile(transport, None, fallback=False))414class SendfileTestsBase(SendfileMixin, SockSendfileMixin):415 pass416if sys.platform == 'win32':417 class SelectEventLoopTests(SendfileTestsBase,418 test_utils.TestCase):419 def create_event_loop(self):420 return asyncio.SelectorEventLoop()421 class ProactorEventLoopTests(SendfileTestsBase,422 test_utils.TestCase):423 def create_event_loop(self):424 return asyncio.ProactorEventLoop()425else:426 import selectors427 if hasattr(selectors, 'KqueueSelector'):428 class KqueueEventLoopTests(SendfileTestsBase,429 test_utils.TestCase):430 def create_event_loop(self):431 return asyncio.SelectorEventLoop(432 selectors.KqueueSelector())433 if hasattr(selectors, 'EpollSelector'):434 class EPollEventLoopTests(SendfileTestsBase,435 test_utils.TestCase):436 def create_event_loop(self):437 return asyncio.SelectorEventLoop(selectors.EpollSelector())438 if hasattr(selectors, 'PollSelector'):439 class PollEventLoopTests(SendfileTestsBase,440 test_utils.TestCase):441 def create_event_loop(self):442 return asyncio.SelectorEventLoop(selectors.PollSelector())443 # Should always exist.444 class SelectEventLoopTests(SendfileTestsBase,445 test_utils.TestCase):446 def create_event_loop(self):...

Full Screen

Full Screen

images.js

Source:images.js Github

copy

Full Screen

...13//---------------------------\\14//Npc art\\15 //NPC 116 router.get('/npcFemalebakerUP', (req, res, next) =>{17 res.sendFile(NpcPath('npcFemalebakerUP.png'));18 });19 router.get('/npcFemalebakerSit', (req, res, next) =>{20 res.sendFile(NpcPath('npcFemalebakerSit.png'));21 });22 //NPC 223 router.get('/npcBusinessManUP', (req, res, next) =>{24 res.sendFile(NpcPath('Youngbusinessman4.png'));25 });26 router.get('/npcBusinessManSit', (req, res, next) =>{27 res.sendFile(NpcPath('Youngbusinessman1.png'));28 });29 //NPC 330 router.get('/npcOldBusinessManUP', (req, res, next) =>{31 res.sendFile(NpcPath('Oldbusinessman4.png'));32 });33 router.get('/npcOldBusinessManSit', (req, res, next) =>{34 res.sendFile(NpcPath('Oldbusinessman1.png'));35 });36 //NPC 437 router.get('/npcMaleStudentUP', (req, res, next) =>{38 res.sendFile(NpcPath('Malestudent4.png'));39 });40 router.get('/npcMaleStudentSit', (req, res, next) =>{41 res.sendFile(NpcPath('Malestudent1.png'));42 });43 //NPC 544 router.get('/npcMalePunktUP', (req, res, next) =>{45 res.sendFile(NpcPath('Malepunk4.png'));46 });47 router.get('/npcMalePunkSit', (req, res, next) =>{48 res.sendFile(NpcPath('Malepunk1.png'));49 });50 //NPC 651 router.get('/npcMaleCasualUP', (req, res, next) =>{52 res.sendFile(NpcPath('Malecasual4.png'));53 });54 router.get('/npcMaleCasualSit', (req, res, next) =>{55 res.sendFile(NpcPath('Malecasual1.png'));56 });57 //NPC 758 router.get('/npcFemaleYouthUP', (req, res, next) =>{59 res.sendFile(NpcPath('Femaleyouth4.png'));60 });61 router.get('/npcFemaleYouthSit', (req, res, next) =>{62 res.sendFile(NpcPath('Femaleyouth1.png'));63 });64 //NPC 865 router.get('/npcFemaleTrendyUP', (req, res, next) =>{66 res.sendFile(NpcPath('Femaletrendy4.png'));67 });68 router.get('/npcFemaleTrendySit', (req, res, next) =>{69 res.sendFile(NpcPath('Femaletrendy1.png'));70 });71 //NPC 972 router.get('/npcFemaleStudentUP', (req, res, next) =>{73 res.sendFile(NpcPath('Femalestudent4.png'));74 });75 router.get('/npcFemaleStudentSit', (req, res, next) =>{76 res.sendFile(NpcPath('Femalestudent1.png'));77 });78//--------\\79//Images\\80//UI81router.get('/CircleButtonInfo', (req, res, next) =>{82 res.sendFile(ImagesPathUI('CircleButtoInfo.png'));83});84router.get('/acceptbutton', (req, res, next) =>{85 res.sendFile(ImagesPathUI('DenyButton.png'));86});87router.get('/notificationFrame', (req, res, next) =>{88 res.sendFile(ImagesPathUI('NotificationFrame.png'));89});90router.get('/LoginSignupButton', (req, res, next) =>{91 res.sendFile(ImagesPathUI('LoginSignupButton.png'));92});93router.get('/ChatBalloon', (req, res, next) =>{94 res.sendFile(ImagesPathUI('ChatBalloon.png'));95});96router.get('/StorageFrame', (req, res, next) =>{97 res.sendFile(ImagesPathUI('StorageFrame.png'));98});99router.get('/SoundOn', (req, res, next) =>{100 res.sendFile(ImagesPathUI('SoundOn.png'));101});102router.get('/SoundOff', (req, res, next) =>{103 res.sendFile(ImagesPathUI('SoundOff.png'));104});105router.get('/Invisible', (req, res, next) =>{106 res.sendFile(ImagesPathUI('Invisible.png'));107});108router.get('/ConfigFrame', (req, res, next) =>{109 res.sendFile(ImagesPathUI('ConfigFrame.png'));110});111router.get('/LeaderboardTab', (req, res, next) =>{112 res.sendFile(ImagesPathUI('LeaderboardTab.png'));113});114router.get('/LeaderboardsFrame', (req, res, next) =>{115 res.sendFile(ImagesPathUI('LeaderboardsFrame.png'));116});117router.get('/MarketButton', (req, res, next) =>{118 res.sendFile(ImagesPathUI('MarketButton.png'));119});120router.get('/MarketFrame', (req, res, next) =>{121 res.sendFile(ImagesPathUI('MarketFrame.png'));122});123router.get('/CloseMarket', (req, res, next) =>{124 res.sendFile(ImagesPathUI('CloseMark.png'));125});126router.get('/JapanCityMarket', (req, res, next) =>{127 res.sendFile(ImagesPathUI('osakabutton.png'));128});129router.get('/JapanCityFriends', (req, res, next) =>{130 res.sendFile(ImagesPathUI('saporrobutton.png'));131});132router.get('/JapanCityRestaurant', (req, res, next) =>{133 res.sendFile(ImagesPathUI('tokyobutton.png'));134});135router.get('/JapanMap', (req, res, next)=>{136 res.sendFile(ImagesPathUI('JapanMap.png'));137});138router.get('/MoneyDisplayer', (req, res, next) =>{139 res.sendFile(ImagesPathUI('MoneyDisplayer.png'));140});141router.get('/levelstar', (req, res, next) =>{142 res.sendFile(ImagesPathUI('LevelStar.png'));143});144router.get('/LevelPortal', (req, res, next) =>{145 res.sendFile(ImagesPathUI('LevelPortal.png'));146});147router.get('/circlebutton', (req, res, next) =>{148 res.sendFile(ImagesPathUI('CircleButton.png'));149});150router.get('/CircleButtonCheck', (req, res, next) =>{151 res.sendFile(ImagesPathUI('CircleButtonCheck.png'));152});153router.get('/CircleButtonGeneral', (req, res, next) =>{154 res.sendFile(ImagesPathUI('CircleButtonGeneral.png'));155});156router.get('/CircleButtonGear', (req, res, next) =>{157 res.sendFile(ImagesPathUI('CircleButtonGear.png'));158});159router.get('/CircleButtonLogOut', (req, res, next) =>{160 res.sendFile(ImagesPathUI('CircleButtonLogOut.png'));161});162router.get('/CircleButtonLeaderboards', (req, res, next) =>{163 res.sendFile(ImagesPathUI('CircleButtonLeaderboards.png'));164});165router.get('/CircleButtonCooking', (req, res, next) =>{166 res.sendFile(ImagesPathUI('CircleButtonCooking.png'));167});168router.get('/CircleButtonDecoration', (req, res, next) =>{169 res.sendFile(ImagesPathUI('CircleButtonDecoration.png'));170});171router.get('/CircleButtonStorage', (req, res, next) =>{172 res.sendFile(ImagesPathUI('CircleButtonStorage.png'));173});174router.get('/CircleButtonMap', (req, res, next) =>{175 res.sendFile(ImagesPathUI('CircleButtonMap.png'));176});177router.get('/middleframe', (req, res, next) =>{178 res.sendFile(ImagesPathUI('MiddleFrame.png'));179});180router.get('/buttonImage', (req, res, next) =>{181 res.sendFile(ImagesPathUI('RectangleButton.png'));182});183router.get('/logo', (req, res, next) =>{184 res.sendFile(ImagesPathUI('LogoMomotaro.png'));185});186router.get('/lake', (req, res, next) =>{187 res.sendFile(ImagesPathUI('house.gif'));188});189router.get('/frame', (req, res, next) =>{190 res.sendFile(ImagesPathUI('frame.png'));191});192router.get('/ReturnButtonCook', (req, res, next) =>{193 res.sendFile(ImagesPathUI('Return_Restaurant.png'));194});195router.get('/floor_tile', (req, res, next) =>{196 res.sendFile(ImagesPathRes('WoodFloorTile.png'));197});198router.get('/wall_tile', (req, res, next) =>{199 res.sendFile(ImagesPathRes('BrickWallTile.png'));200});201router.get('/left_wall_tile', (req, res, next) =>{202 res.sendFile(ImagesPathRes('LeftSideWallTile.png'));203});204router.get('/right_wall_tile', (req, res, next) =>{205 res.sendFile(ImagesPathRes('RightSideWallTile.png'));206});207router.get('/right_corner_tile', (req, res, next) =>{208 res.sendFile(ImagesPathRes('RightCornerTile.png'));209});210router.get('/left_corner_tile', (req, res, next) =>{211 res.sendFile(ImagesPathRes('LeftCornerTile.png'));212});213router.get('/blue_wall_tile', (req, res, next) =>{214 res.sendFile(ImagesPathRes('BlueWallTile.png'));215});216router.get('/left_entrance_tile', (req, res, next) =>{217 res.sendFile(ImagesPathRes('EntranceLeftSideTile.png'));218});219router.get('/right_entrance_tile', (req, res, next) =>{220 res.sendFile(ImagesPathRes('EntranceRightSideTile.png'));221});222//UI\\223router.get('/bottom_frame', (req, res, next) => {224 res.sendFile(ImagesPathUI('BottomFrame.png'));225});226router.get('/left_yellow_arrow', (req, res, next) =>{227 res.sendFile(ImagesPathUI('LeftYellowArrow.png'));228});229router.get('/right_yellow_arrow', (req, res, next) =>{230 res.sendFile(ImagesPathUI('RightYellowArrow.png'));231});232//Decorations\\233router.get('/ChocolateFountain', (req, res, next) =>{234 res.sendFile(ImagesPathDec('Chocolate_Fountain.png'));235});236router.get('/Stanchion', (req, res, next) =>{237 res.sendFile(ImagesPathDec('Stanchion.png'));238});239router.get('/ChocolateHeart', (req, res, next) =>{240 res.sendFile(ImagesPathDec('Heart_chocolates.png'));241});242router.get('/Heater', (req, res, next) =>{243 res.sendFile(ImagesPathDec('Heater.png'));244});245router.get('/CardboxMaid', (req, res, next) =>{246 res.sendFile(ImagesPathDec('Cardbox_maid.png'));247});248router.get('/AnimatedCat', (req, res, next) =>{249 res.sendFile(ImagesPathDec('animated_cat.gif'));250});251router.get('/AnimatedCrow2', (req, res, next) =>{252 res.sendFile(ImagesPathDec('animated_crow2.gif'));253});254router.get('/AnimatedCrow', (req, res, next) =>{255 res.sendFile(ImagesPathDec('animated_crow.gif'));256});257router.get('/AnimatedPlant', (req, res, next) =>{258 res.sendFile(ImagesPathDec('Misc_pottedplant.gif'));259});260router.get('/Bar_Left', (req, res, next) =>{261 res.sendFile(ImagesPathDec('Bar_Left.png'));262});263router.get('/Bar_Middle', (req, res, next) =>{264 res.sendFile(ImagesPathDec('Bar_Middle.png'));265});266router.get('/Bar_Right', (req, res, next) =>{267 res.sendFile(ImagesPathDec('Bar_Right.png'));268});269router.get('/Beje_Plant', (req, res, next) =>{270 res.sendFile(ImagesPathDec('Beje_Plant.png'));271});272router.get('/Purple_Plant', (req, res, next) =>{273 res.sendFile(ImagesPathDec('Purple_Plant.png'));274});275router.get('/Chair_Back', (req, res, next) =>{276 res.sendFile(ImagesPathDec('Chair_Back.png'));277});278router.get('/Chair_Front', (req, res, next) =>{279 res.sendFile(ImagesPathDec('Chair_Front.png'));280});281router.get('/Cushion_Chair', (req, res, next) =>{282 res.sendFile(ImagesPathDec('Cushion_Chair.png'));283});284router.get('/Long_Table', (req, res, next) =>{285 res.sendFile(ImagesPathDec('Long_Table.png'));286});287router.get('/Simple_Table', (req, res, next) =>{288 res.sendFile(ImagesPathDec('Simple_Table.png'));289});290router.get('/Round_Table', (req, res, next) =>{291 res.sendFile(ImagesPathDec('Round_Table.png'));292});293router.get('/Machine_Karaoke', (req, res, next) =>{294 res.sendFile(ImagesPathDec('Machine_Karaoke.png'));295});296router.get('/Television', (req, res, next) =>{297 res.sendFile(ImagesPathDec('Television.png'));298});299router.get('/Television_Corner', (req, res, next) =>{300 res.sendFile(ImagesPathDec('Television_Corner.png'));301});302router.get('/Oven', (req, res, next) =>{303 res.sendFile(ImagesPathDec('Oven.png'));304});305//Igredients\\306router.get('/Tuna', (req, res, next) =>{307 res.sendFile(ImagesPathCooK('Tuna.png'));308});309router.get('/Shrimp', (req, res, next) =>{310 res.sendFile(ImagesPathCooK('Shrimp.png'));311});312router.get('/Cacoa', (req, res, next) =>{313 res.sendFile(ImagesPathCooK('Cacoa.png'));314});315router.get('/Cherry', (req, res, next) =>{316 res.sendFile(ImagesPathCooK('Cherry.png'));317});318router.get('/Eggs', (req, res, next) =>{319 res.sendFile(ImagesPathCooK('Eggs.png'));320});321router.get('/Pasta', (req, res, next) =>{322 res.sendFile(ImagesPathCooK('Pasta.png'));323});324router.get('/Tuna', (req, res, next) =>{325 res.sendFile(ImagesPathCooK('Tuna.png'));326});327router.get('/Rice', (req, res, next) =>{328 res.sendFile(ImagesPathCooK('Rice.png'));329});330router.get('/Water', (req, res, next) =>{331 res.sendFile(ImagesPathCooK('Water.png'));332});333router.get('/Oliva_Oil', (req, res, next) =>{334 res.sendFile(ImagesPathCooK('Oliva_Oil.png'));335});336router.get('/Bread', (req, res, next) =>{337 res.sendFile(ImagesPathCooK('Bread.png'));338});339router.get('/Tuna', (req, res, next) =>{340 res.sendFile(ImagesPathCooK('Tuna.png'));341});342router.get('/Flour', (req, res, next) =>{343 res.sendFile(ImagesPathCooK('Flour.png'));344});345router.get('/Noodles', (req, res, next) =>{346 res.sendFile(ImagesPathCooK('Noodles.png'));347});348router.get('/Bread_Omelet', (req, res, next) =>{349 res.sendFile(ImagesPathCooK('Bread_Omelet.png'));350});351router.get('/Tuna_Sushi', (req, res, next) =>{352 res.sendFile(ImagesPathCooK('Tuna_Sushi.png'));353});354router.get('/Shrimp_Sushi', (req, res, next) =>{355 res.sendFile(ImagesPathCooK('Shrimp_Sushi.png'));356});357router.get('/Chocolate_Cake', (req, res, next) =>{358 res.sendFile(ImagesPathCooK('Chocolate_Cake.png'));359});360router.get('/Cherry_Pie', (req, res, next) =>{361 res.sendFile(ImagesPathCooK('Cherry_Pie.png'));362});...

Full Screen

Full Screen

server.js

Source:server.js Github

copy

Full Screen

...3var app = express();4var data_url = "http://data.c100.hasura.me";//"https://data.rishabapp.hasura-app.io"5var auth_url = "http://auth.c100.hasura.me";//"https://auth.rishabapp.hasura-app.io"6app.get('/', function (req, res) {7 res.sendFile(path.join(__dirname, 'ui', 'index.html'));8});9app.get('/main.js', function (req, res) {10 res.sendFile(path.join(__dirname, 'ui', 'main.js'));11});12app.get(auth_url+'/signup', function (req, res) {13 res.sendFile(path.join(__dirname, 'ui', 'try.html'));14});15app.get('/ann.html', function (req, res) {16 res.sendFile(path.join(__dirname, 'ui', 'ann.html'));17});18app.get('/diss.html', function (req, res) {19 res.sendFile(path.join(__dirname, 'ui', 'diss.html'));20});21app.get('/sem.html', function (req, res) {22 res.sendFile(path.join(__dirname, 'ui', 'sem.html'));23});24app.get('/css/creative.min.css', function (req, res) {25 res.sendFile(path.join(__dirname, 'ui/css', 'creative.min.css'))26});27app.get('/css/creative.css', function (req, res) {28 res.sendFile(path.join(__dirname, 'ui/css', 'creative.css'));29});30app.get('/vendor/bootstrap/css/bootstrap.min.css', function (req, res) {31 res.sendFile(path.join(__dirname, 'ui/vendor/bootstrap/css', 'bootstrap.min.css'));32});33app.get('/vendor/bootstrap/css/bootstrap.css', function (req, res) {34 res.sendFile(path.join(__dirname, 'ui/vendor/bootstrap/css', 'bootstrap.css'));35});36app.get('/vendor/font-awesome/css/font-awesome.min.css', function (req, res) {37 res.sendFile(path.join(__dirname, 'ui/vendor/font-awesome/css', 'font-awesome.min.css'));38});39app.get('/vendor/magnific-popup/magnific-popup.css', function (req, res) {40 res.sendFile(path.join(__dirname, 'ui/vendor/magnific-popup', 'magnific-popup.css'));41});42app.get('/vendor/jquery/jquery.min.js', function (req, res) {43 res.sendFile(path.join(__dirname, 'ui/vendor/jquery', 'jquery.min.js'));44});45app.get('/vendor/bootstrap/js/bootstrap.min.js', function (req, res) {46 res.sendFile(path.join(__dirname, 'ui/vendor/bootstrap/js', 'bootstrap.min.js'));47});48app.get('/vendor/scrollreveal/scrollreveal.min.js', function (req, res) {49 res.sendFile(path.join(__dirname, 'ui/vendor/scrollreveal', 'scrollreveal.min.js'));50});51app.get('/vendor/magnific-popup/jquery.magnific-popup.min.js', function (req, res) {52 res.sendFile(path.join(__dirname, 'ui/vendor/magnific-popup', 'jquery.magnific-popup.min.js'));53});54app.get('/js/creative.min.js', function (req, res) {55 res.sendFile(path.join(__dirname, 'ui/js', 'creative.min.js'));56});57app.get('/img/uni.jpg', function (req, res) {58 res.sendFile(path.join(__dirname, 'ui/img', 'uni.jpg'));59});60app.get('/img/header.jpg', function (req, res) {61 res.sendFile(path.join(__dirname, 'ui/img', 'header.jpg'));62});63app.get('/sign_in.html', function (req, res) {64 res.sendFile(path.join(__dirname, 'ui', 'sign_in.html'));65});66app.get('/register.html', function (req, res) {67 res.sendFile(path.join(__dirname, 'ui', 'register.html'));68});69var counter = 0;70app.get('/counter', function (req, res) {71 counter = counter + 1;72 res.send(counter.toString());73});74app.listen(8080, function () {75 console.log('Example app listening on port 8080!');...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run fMBT automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful