priyanshbot12 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/.Dockerignore +4 -0
- package/.dockerignore +4 -0
- package/.github/workflows/publish.yml +20 -0
- package/Dockerfile +5 -0
- package/Priyansh.js +601 -0
- package/appcap.json +0 -0
- package/appstate.json +263 -0
- package/config.json +231 -0
- package/includes/antist.sqlite +0 -0
- package/includes/controllers/currencies.js +100 -0
- package/includes/controllers/threads.js +89 -0
- package/includes/controllers/users.js +96 -0
- package/includes/database/index.js +41 -0
- package/includes/database/model.js +22 -0
- package/includes/database/models/currencies.js +26 -0
- package/includes/database/models/threads.js +21 -0
- package/includes/database/models/users.js +21 -0
- package/includes/handle/handleCommand.js +140 -0
- package/includes/handle/handleCommandEvent.js +43 -0
- package/includes/handle/handleCreateDatabase.js +62 -0
- package/includes/handle/handleEvent.js +37 -0
- package/includes/handle/handleNotification.js +47 -0
- package/includes/handle/handleReaction.js +44 -0
- package/includes/handle/handleRefresh.js +66 -0
- package/includes/handle/handleReply.js +44 -0
- package/includes/listen.js +307 -0
- package/index.js +93 -0
- package/languages/en.lang +103 -0
- package/languages/vi.lang +104 -0
- package/lol.json +4001 -0
- package/modChangeColorFca.js +78 -0
- package/modules/commands/0tom.js +25 -0
- package/modules/commands/6packs.js +142 -0
- package/modules/commands/Bio.js +18 -0
- package/modules/commands/Getavtfb.js +59 -0
- package/modules/commands/Google.js +77 -0
- package/modules/commands/Obama.js +74 -0
- package/modules/commands/Onbot.js +5 -0
- package/modules/commands/Priyanshu/approvedThreads.json +151 -0
- package/modules/commands/Priyanshu/pendingdThreads.json +1 -0
- package/modules/commands/Rank.js +201 -0
- package/modules/commands/Rushi.js +30 -0
- package/modules/commands/Simpson.js +76 -0
- package/modules/commands/Troll.json +26 -0
- package/modules/commands/Trump.js +76 -0
- package/modules/commands/Vonglap.js +24 -0
- package/modules/commands/Work-beta.js +113 -0
- package/modules/commands/aah-xsound.js +26 -0
- package/modules/commands/accept_fri.js +111 -0
- package/modules/commands/adc.js +106 -0
- package/modules/commands/adden.js +83 -0
- package/modules/commands/adduser.js +52 -0
- package/modules/commands/admin.js +254 -0
- package/modules/commands/ai.js +97 -0
- package/modules/commands/ai1.js +39 -0
- package/modules/commands/alert.js +1 -0
- package/modules/commands/allbox.js +194 -0
- package/modules/commands/alllin.js +85 -0
- package/modules/commands/altar.js +56 -0
- package/modules/commands/amogus.js +26 -0
- package/modules/commands/anifact.js +33 -0
- package/modules/commands/animalear.js +26 -0
- package/modules/commands/animeimg.js +25 -0
- package/modules/commands/animescrape.js +101 -0
- package/modules/commands/antichange.js +237 -0
- package/modules/commands/antijoin.js +22 -0
- package/modules/commands/antiout.js +22 -0
- package/modules/commands/antirobbery.js +22 -0
- package/modules/commands/approve.js +139 -0
- package/modules/commands/appstate.js +30 -0
- package/modules/commands/ara.js +28 -0
- package/modules/commands/art.js +39 -0
- package/modules/commands/astalk.json +85 -0
- package/modules/commands/autoban.js +45 -0
- package/modules/commands/automention.js +17 -0
- package/modules/commands/autoreact.js +62 -0
- package/modules/commands/autoreset.js +40 -0
- package/modules/commands/autoseen.js +1 -0
- package/modules/commands/autosetname.js +52 -0
- package/modules/commands/avatar.js +32 -0
- package/modules/commands/avt.js +76 -0
- package/modules/commands/award.js +84 -0
- package/modules/commands/ayaka.js +134 -0
- package/modules/commands/baicao.js +166 -0
- package/modules/commands/balance.js +42 -0
- package/modules/commands/ban.js +220 -0
- package/modules/commands/banking.js +132 -0
- package/modules/commands/banner.js +93 -0
- package/modules/commands/banner2.js +237 -0
- package/modules/commands/banner3.js +510 -0
- package/modules/commands/bard.js +59 -0
- package/modules/commands/batmanslap.js +79 -0
- package/modules/commands/baybayin.js +18 -0
- package/modules/commands/bbm.js +84 -0
- package/modules/commands/beast.js +62 -0
- package/modules/commands/bf.js +74 -0
- package/modules/commands/biden.js +25 -0
- package/modules/commands/bigtext.js +219 -0
- package/modules/commands/billboard.js +83 -0
- package/modules/commands/birthday.js +27 -0
- package/modules/commands/board.js +74 -0
- package/modules/commands/bot.js +245 -0
- package/modules/commands/bot1.js +414 -0
- package/modules/commands/botban.js +51 -0
- package/modules/commands/botsay.js +16 -0
- package/modules/commands/box.js +119 -0
- package/modules/commands/boxinfo.js +53 -0
- package/modules/commands/bruh.js +26 -0
- package/modules/commands/cache/1.png +0 -0
- package/modules/commands/cache/2.gif +0 -0
- package/modules/commands/cache/2.png +0 -0
- package/modules/commands/cache/20.jpg +0 -0
- package/modules/commands/cache/3.png +0 -0
- package/modules/commands/cache/4.png +0 -0
- package/modules/commands/cache/5.png +0 -0
- package/modules/commands/cache/50.jpg +0 -0
- package/modules/commands/cache/6.png +0 -0
- package/modules/commands/cache/7.png +0 -0
- package/modules/commands/cache/8.jpg +0 -0
- package/modules/commands/cache/8.png +0 -0
- package/modules/commands/cache/9.png +0 -0
- package/modules/commands/cache/AlegreyaSans-Regular.ttf +0 -0
- package/modules/commands/cache/ArialUnicodeMS.ttf +0 -0
- package/modules/commands/cache/Avthai.png +0 -0
- package/modules/commands/cache/Play-Bold.ttf +0 -0
- package/modules/commands/cache/SVN-Arial 2.ttf +0 -0
- package/modules/commands/cache/VNCORSI.ttf +0 -0
- package/modules/commands/cache/autoseen.txt +1 -0
- package/modules/commands/cache/autosetname.json +1 -0
- package/modules/commands/cache/avt.png +0 -0
- package/modules/commands/cache/avt2.png +0 -0
- package/modules/commands/cache/avt_100000377396525.png +0 -0
- package/modules/commands/cache/avt_100027379701085.png +0 -0
- package/modules/commands/cache/avtuserrd2.png +0 -0
- package/modules/commands/cache/avtuserrd3.png +0 -0
- package/modules/commands/cache/banner.gif +0 -0
- package/modules/commands/cache/biden1.png +2 -0
- package/modules/commands/cache/bill.json +1 -0
- package/modules/commands/cache/bold-font.ttf +0 -0
- package/modules/commands/cache/canvas/arr2.png +0 -0
- package/modules/commands/cache/canvas/choigay.png +0 -0
- package/modules/commands/cache/canvas/fuck.png +0 -0
- package/modules/commands/cache/canvas/fuckv2.png +0 -0
- package/modules/commands/cache/canvas/fuckv3.png +0 -0
- package/modules/commands/cache/canvas/fuckv4.png +0 -0
- package/modules/commands/cache/canvas/hug4.png +0 -0
- package/modules/commands/cache/canvas/hugp.png +0 -0
- package/modules/commands/cache/canvas/hugv1.png +0 -0
- package/modules/commands/cache/canvas/hugv2.png +0 -0
- package/modules/commands/cache/canvas/hugv3.png +0 -0
- package/modules/commands/cache/canvas/josh.png +0 -0
- package/modules/commands/cache/canvas/joshua.png +0 -0
- package/modules/commands/cache/canvas/love2.jpg +0 -0
- package/modules/commands/cache/canvas/marriedv1.png +0 -0
- package/modules/commands/cache/canvas/marriedv2.png +0 -0
- package/modules/commands/cache/canvas/marriedv3.png +0 -0
- package/modules/commands/cache/canvas/marriedv4.png +0 -0
- package/modules/commands/cache/canvas/marriedv5.png +0 -0
- package/modules/commands/cache/canvas/marriedv6.jpeg +0 -0
- package/modules/commands/cache/canvas/marrywi.png +0 -0
- package/modules/commands/cache/canvas/namtay.png +0 -0
- package/modules/commands/cache/canvas/pairing.jpg +0 -0
- package/modules/commands/cache/canvas/pj.png +0 -0
- package/modules/commands/cache/canvas/seophi.png +0 -0
- package/modules/commands/cache/checkttDay.json +11594 -0
- package/modules/commands/cache/chocolate.jpg +0 -0
- package/modules/commands/cache/customrank/.txt +1 -0
- package/modules/commands/cache/data.json +3 -0
- package/modules/commands/cache/datlich.json +1 -0
- package/modules/commands/cache/dhbc1.png +0 -0
- package/modules/commands/cache/dhbc2.png +0 -0
- package/modules/commands/cache/elaina.jpg +0 -0
- package/modules/commands/cache/fbcover.png +0 -0
- package/modules/commands/cache/giflove.png +0 -0
- package/modules/commands/cache/giflove1.png +0 -0
- package/modules/commands/cache/giflove2.png +0 -0
- package/modules/commands/cache/giflove3.png +0 -0
- package/modules/commands/cache/giflove4.png +0 -0
- package/modules/commands/cache/giflove5.png +0 -0
- package/modules/commands/cache/giflove6.png +0 -0
- package/modules/commands/cache/giflove7.png +0 -0
- package/modules/commands/cache/hon.png +0 -0
- package/modules/commands/cache/hon1.png +0 -0
- package/modules/commands/cache/hon2.png +0 -0
- package/modules/commands/cache/image-0.png +0 -0
- package/modules/commands/cache/image-1.png +0 -0
- package/modules/commands/cache/image-10.png +0 -0
- package/modules/commands/cache/image-11.png +0 -0
- package/modules/commands/cache/image-12.png +0 -0
- package/modules/commands/cache/image-13.png +0 -0
- package/modules/commands/cache/image-14.png +0 -0
- package/modules/commands/cache/image-15.png +0 -0
- package/modules/commands/cache/image-16.png +0 -0
- package/modules/commands/cache/image-17.png +0 -0
- package/modules/commands/cache/image-18.png +0 -0
- package/modules/commands/cache/image-19.png +0 -0
- package/modules/commands/cache/image-2.png +0 -0
- package/modules/commands/cache/image-20.png +0 -0
- package/modules/commands/cache/image-21.png +0 -0
- package/modules/commands/cache/image-22.png +0 -0
- package/modules/commands/cache/image-23.png +0 -0
- package/modules/commands/cache/image-24.png +0 -0
- package/modules/commands/cache/image-25.png +0 -0
- package/modules/commands/cache/image-26.png +0 -0
- package/modules/commands/cache/image-27.png +0 -0
- package/modules/commands/cache/image-28.png +0 -0
- package/modules/commands/cache/image-29.png +0 -0
- package/modules/commands/cache/image-3.png +0 -0
- package/modules/commands/cache/image-30.png +0 -0
- package/modules/commands/cache/image-31.png +0 -0
- package/modules/commands/cache/image-32.png +0 -0
- package/modules/commands/cache/image-33.png +0 -0
- package/modules/commands/cache/image-34.png +0 -0
- package/modules/commands/cache/image-35.png +0 -0
- package/modules/commands/cache/image-36.png +0 -0
- package/modules/commands/cache/image-37.png +0 -0
- package/modules/commands/cache/image-38.png +0 -0
- package/modules/commands/cache/image-39.png +0 -0
- package/modules/commands/cache/image-4.png +0 -0
- package/modules/commands/cache/image-40.png +0 -0
- package/modules/commands/cache/image-41.png +0 -0
- package/modules/commands/cache/image-42.png +0 -0
- package/modules/commands/cache/image-43.png +0 -0
- package/modules/commands/cache/image-44.png +0 -0
- package/modules/commands/cache/image-45.png +0 -0
- package/modules/commands/cache/image-46.png +0 -0
- package/modules/commands/cache/image-47.png +0 -0
- package/modules/commands/cache/image-48.png +0 -0
- package/modules/commands/cache/image-49.png +0 -0
- package/modules/commands/cache/image-5.png +0 -0
- package/modules/commands/cache/image-50.png +0 -0
- package/modules/commands/cache/image-51.png +0 -0
- package/modules/commands/cache/image-52.png +0 -0
- package/modules/commands/cache/image-53.png +0 -0
- package/modules/commands/cache/image-6.png +0 -0
- package/modules/commands/cache/image-7.png +0 -0
- package/modules/commands/cache/image-8.png +0 -0
- package/modules/commands/cache/image-9.png +0 -0
- package/modules/commands/cache/img1.png +0 -0
- package/modules/commands/cache/img2.png +0 -0
- package/modules/commands/cache/listwarning.json +1 -0
- package/modules/commands/cache/lyrics.png +0 -0
- package/modules/commands/cache/memory.ttf +1950 -0
- package/modules/commands/cache/memorygame.png +0 -0
- package/modules/commands/cache/menu.gif +0 -0
- package/modules/commands/cache/mikasa.jpg +0 -0
- package/modules/commands/cache/mirai.jpg +0 -0
- package/modules/commands/cache/nami.jpg +0 -0
- package/modules/commands/cache/night.jpg +0 -0
- package/modules/commands/cache/notes.json +1 -0
- package/modules/commands/cache/priyansh.jpg +0 -0
- package/modules/commands/cache/quybu.gif +0 -0
- package/modules/commands/cache/rankcard.png +0 -0
- package/modules/commands/cache/rankcard1.png +0 -0
- package/modules/commands/cache/rankcard10.png +0 -0
- package/modules/commands/cache/rankcard11.png +0 -0
- package/modules/commands/cache/rankcard12.png +0 -0
- package/modules/commands/cache/rankcard13.png +0 -0
- package/modules/commands/cache/rankcard14.png +0 -0
- package/modules/commands/cache/rankcard2.png +0 -0
- package/modules/commands/cache/rankcard3.png +0 -0
- package/modules/commands/cache/rankcard4.png +0 -0
- package/modules/commands/cache/rankcard5.png +0 -0
- package/modules/commands/cache/rankcard6.png +0 -0
- package/modules/commands/cache/rankcard7.png +0 -0
- package/modules/commands/cache/rankcard8.png +0 -0
- package/modules/commands/cache/rankcard9.png +0 -0
- package/modules/commands/cache/rankup/.txt +1 -0
- package/modules/commands/cache/regular-font.ttf +0 -0
- package/modules/commands/cache/rules.json +1 -0
- package/modules/commands/cache/shortcutdata.json +6 -0
- package/modules/commands/cache/snoti.jpg +0 -0
- package/modules/commands/cache/statusAuto.json +3 -0
- package/modules/commands/cache/tiktok.png +0 -0
- package/modules/commands/cache/toilet.png +0 -0
- package/modules/commands/cache/toilet1.png +0 -0
- package/modules/commands/cache/ttt.png +0 -0
- package/modules/commands/cache/urbanjungle.ttf +0 -0
- package/modules/commands/cache/wanted.png +3 -0
- package/modules/commands/cache.js +112 -0
- package/modules/commands/callad.js +215 -0
- package/modules/commands/cardbox.js +161 -0
- package/modules/commands/cardcute.js +122 -0
- package/modules/commands/cardinfo.js +106 -0
- package/modules/commands/cardinfotag.js +110 -0
- package/modules/commands/cardinfov2.js +103 -0
- package/modules/commands/cardinfov3.js +111 -0
- package/modules/commands/cardinfov4.js +104 -0
- package/modules/commands/caro.json +354 -0
- package/modules/commands/catsay.js +25 -0
- package/modules/commands/cave.js +51 -0
- package/modules/commands/chart.js +35 -0
- package/modules/commands/checktt.js +121 -0
- package/modules/commands/checkv1.js +181 -0
- package/modules/commands/cheems.js +88 -0
- package/modules/commands/chocolate.js +26 -0
- package/modules/commands/choose.js +28 -0
- package/modules/commands/chumma.js +25 -0
- package/modules/commands/clearcache.js +60 -0
- package/modules/commands/cmd.js +192 -0
- package/modules/commands/cnbh.js +118 -0
- package/modules/commands/code.js +101 -0
- package/modules/commands/communism.js +56 -0
- package/modules/commands/confess.js +25 -0
- package/modules/commands/console.js +46 -0
- package/modules/commands/cosplay.json +38 -0
- package/modules/commands/count-by-thread/.txt +1 -0
- package/modules/commands/count.js +82 -0
- package/modules/commands/couple.js +80 -0
- package/modules/commands/coupledp.js +40 -0
- package/modules/commands/covid.js +46 -0
- package/modules/commands/crypto.js +109 -0
- package/modules/commands/daily.js +46 -0
- package/modules/commands/darock.js +27 -0
- package/modules/commands/daru.js +26 -0
- package/modules/commands/data/.txt +1 -0
- package/modules/commands/date.js +80 -0
- package/modules/commands/date2.js +80 -0
- package/modules/commands/deletelogo.js +32 -0
- package/modules/commands/delmsg.js +25 -0
- package/modules/commands/delthread.js +26 -0
- package/modules/commands/details.js +112 -0
- package/modules/commands/dictionary.js +42 -0
- package/modules/commands/dog.js +27 -0
- package/modules/commands/dogfact.js +31 -0
- package/modules/commands/doof.js +74 -0
- package/modules/commands/dot.js +58 -0
- package/modules/commands/download.js +32 -0
- package/modules/commands/drake.js +84 -0
- package/modules/commands/drip.js +61 -0
- package/modules/commands/einstein.js +74 -0
- package/modules/commands/elon.js +78 -0
- package/modules/commands/emoji.js +83 -0
- package/modules/commands/enrile.js +76 -0
- package/modules/commands/event.js +223 -0
- package/modules/commands/example.js +49 -0
- package/modules/commands/fact.js +16 -0
- package/modules/commands/fact2.js +26 -0
- package/modules/commands/family.js +194 -0
- package/modules/commands/fbcover.js +183 -0
- package/modules/commands/fbcoverv2.js +101 -0
- package/modules/commands/fberror.js +74 -0
- package/modules/commands/fbget.js +41 -0
- package/modules/commands/file.js +106 -0
- package/modules/commands/fire.js +52 -0
- package/modules/commands/fish.js +48 -0
- package/modules/commands/fishing.json +330 -0
- package/modules/commands/fuck.js +74 -0
- package/modules/commands/fuck2.js +74 -0
- package/modules/commands/fuck3.js +74 -0
- package/modules/commands/fuck4.js +74 -0
- package/modules/commands/fuck5.js +74 -0
- package/modules/commands/fyoutoo.js +25 -0
- package/modules/commands/fyt.js +58 -0
- package/modules/commands/gali_reply.js +24 -0
- package/modules/commands/game1.js +34 -0
- package/modules/commands/getlink.js +26 -0
- package/modules/commands/gf.js +74 -0
- package/modules/commands/girl.js +11497 -0
- package/modules/commands/girl2.js +23319 -0
- package/modules/commands/girlnude.js +126 -0
- package/modules/commands/github.js +37 -0
- package/modules/commands/giveaway.js +122 -0
- package/modules/commands/gpt.js +39 -0
- package/modules/commands/groupemoji.js +17 -0
- package/modules/commands/groupimage.js +24 -0
- package/modules/commands/groupname.js +17 -0
- package/modules/commands/hack.js +103 -0
- package/modules/commands/help.js +122 -0
- package/modules/commands/help2.js +160 -0
- package/modules/commands/help3.js +83 -0
- package/modules/commands/hi.js +191 -0
- package/modules/commands/hi2.js +83 -0
- package/modules/commands/history.js +74 -0
- package/modules/commands/hold.js +80 -0
- package/modules/commands/hololive.js +63 -0
- package/modules/commands/hug.js +74 -0
- package/modules/commands/hug4.js +74 -0
- package/modules/commands/hug5.js +74 -0
- package/modules/commands/hugj.js +74 -0
- package/modules/commands/hugp.js +74 -0
- package/modules/commands/hugv2.js +74 -0
- package/modules/commands/hugv3.js +74 -0
- package/modules/commands/idst.js +25 -0
- package/modules/commands/imagesearch.js +96 -0
- package/modules/commands/imagine.js +143 -0
- package/modules/commands/info.js +62 -0
- package/modules/commands/infobox.js +161 -0
- package/modules/commands/infocardv7.js +112 -0
- package/modules/commands/infoip.js +24 -0
- package/modules/commands/infosite.js +47 -0
- package/modules/commands/insta.js +210 -0
- package/modules/commands/instagram.js +131 -0
- package/modules/commands/install.js +103 -0
- package/modules/commands/ip.js +55 -0
- package/modules/commands/isko.json +74 -0
- package/modules/commands/iss.js +29 -0
- package/modules/commands/japan.js +211 -0
- package/modules/commands/jessica.js +74 -0
- package/modules/commands/join.js +51 -0
- package/modules/commands/kanna.js +27 -0
- package/modules/commands/khana.js +26 -0
- package/modules/commands/kick.js +51 -0
- package/modules/commands/kiss.js +79 -0
- package/modules/commands/kiss2.js +79 -0
- package/modules/commands/kiss3.js +85 -0
- package/modules/commands/language.js +37 -0
- package/modules/commands/ledtext.js +38 -0
- package/modules/commands/leni.js +84 -0
- package/modules/commands/lexi.js +74 -0
- package/modules/commands/listadmin.js +36 -0
- package/modules/commands/listbanbybot.js +165 -0
- package/modules/commands/listbox.js +203 -0
- package/modules/commands/listfriend.js +90 -0
- package/modules/commands/load.js +15 -0
- package/modules/commands/log.js +37 -0
- package/modules/commands/logobear.js +31 -0
- package/modules/commands/logogame.js +31 -0
- package/modules/commands/logogaming2.js +31 -0
- package/modules/commands/logogaming3.js +31 -0
- package/modules/commands/logogaming4.js +31 -0
- package/modules/commands/logogaming5.js +31 -0
- package/modules/commands/logogirlgame.js +31 -0
- package/modules/commands/logogold.js +31 -0
- package/modules/commands/logoninja.js +31 -0
- package/modules/commands/logout.js +16 -0
- package/modules/commands/logowolf.js +31 -0
- package/modules/commands/love.js +80 -0
- package/modules/commands/luatbot.js +24 -0
- package/modules/commands/luckynum.js +34 -0
- package/modules/commands/lyrics.js +34 -0
- package/modules/commands/mal.js +72 -0
- package/modules/commands/malnews.js +20 -0
- package/modules/commands/mark.js +74 -0
- package/modules/commands/markcmt.js +74 -0
- package/modules/commands/married.js +74 -0
- package/modules/commands/marriedj.js +74 -0
- package/modules/commands/marriedv2.js +74 -0
- package/modules/commands/marriedv3.js +74 -0
- package/modules/commands/marriedv4.js +74 -0
- package/modules/commands/marriedv5.js +74 -0
- package/modules/commands/marriedv6.js +74 -0
- package/modules/commands/marry.js +74 -0
- package/modules/commands/math.js +121 -0
- package/modules/commands/mathematics.js +37 -0
- package/modules/commands/mbbank.js +74 -0
- package/modules/commands/meme.js +31 -0
- package/modules/commands/memory.js +136 -0
- package/modules/commands/mention.js +22 -0
- package/modules/commands/menu.js +142 -0
- package/modules/commands/minari.js +49 -0
- package/modules/commands/minigame.js +32 -0
- package/modules/commands/minionslanguange.js +24 -0
- package/modules/commands/mlbb.js +1 -0
- package/modules/commands/mlstalk.js +22 -0
- package/modules/commands/mobilelegends.js +31 -0
- package/modules/commands/morse.js +27 -0
- package/modules/commands/music.js +138 -0
- package/modules/commands/music2.js +44 -0
- package/modules/commands/music3.js +124 -0
- package/modules/commands/mycoins.js +45 -0
- package/modules/commands/namtay.js +80 -0
- package/modules/commands/natsuki.json +63 -0
- package/modules/commands/naughty.js +58 -0
- package/modules/commands/newbox.js +22 -0
- package/modules/commands/news.js +64 -0
- package/modules/commands/nhentai.js +47 -0
- package/modules/commands/night.js +26 -0
- package/modules/commands/ninja.js +18 -0
- package/modules/commands/noitu.js +42 -0
- package/modules/commands/noprefix/Yest +1 -0
- package/modules/commands/noprefix/ara.mp3 +0 -0
- package/modules/commands/noprefix/box.mp4 +0 -0
- package/modules/commands/noprefix/daru.mp4 +0 -0
- package/modules/commands/noprefix/dk.mp3 +0 -0
- package/modules/commands/noprefix/fuck.gif +0 -0
- package/modules/commands/noprefix/hi.gif +0 -0
- package/modules/commands/noprefix/instagram.jpg +0 -0
- package/modules/commands/noprefix/rankup/.txt +1 -0
- package/modules/commands/noprefix/solar.gif +0 -0
- package/modules/commands/noprefix/sub.mp3 +0 -0
- package/modules/commands/noprefix/sus.mp3 +0 -0
- package/modules/commands/noprefix/tea.mp4 +0 -0
- package/modules/commands/noprefix/totalChat.json +1 -0
- package/modules/commands/noprefix/v.mp3 +0 -0
- package/modules/commands/noprefix/vineboom.gif +0 -0
- package/modules/commands/noprefix/wednesday.mp4 +0 -0
- package/modules/commands/noprefix/wn.mp4 +0 -0
- package/modules/commands/noprefix/xf.mp3 +0 -0
- package/modules/commands/noprefix/xxx.mp3 +0 -0
- package/modules/commands/noprefix/yamate.mp3 +0 -0
- package/modules/commands/note.js +86 -0
- package/modules/commands/npm.js +30 -0
- package/modules/commands/nsfw.js +43 -0
- package/modules/commands/nsfwanime.js +101 -0
- package/modules/commands/nude.js +25 -0
- package/modules/commands/osu.js +21 -0
- package/modules/commands/out.js +23 -0
- package/modules/commands/outall.js +26 -0
- package/modules/commands/outbox.js +117 -0
- package/modules/commands/package.js +119 -0
- package/modules/commands/pair.js +86 -0
- package/modules/commands/pair1.js +86 -0
- package/modules/commands/pair2.js +51 -0
- package/modules/commands/pair3.js +51 -0
- package/modules/commands/pair4.js +51 -0
- package/modules/commands/pair5.js +51 -0
- package/modules/commands/pair6.js +51 -0
- package/modules/commands/pair7.js +51 -0
- package/modules/commands/pair8.js +51 -0
- package/modules/commands/pantiesclose.js +199 -0
- package/modules/commands/pantiesclosev2.js +199 -0
- package/modules/commands/password.js +83 -0
- package/modules/commands/pat.js +43 -0
- package/modules/commands/pay.json +64 -0
- package/modules/commands/pending.js +83 -0
- package/modules/commands/penis.js +11 -0
- package/modules/commands/penticlose.js +199 -0
- package/modules/commands/petmonsters.js +138 -0
- package/modules/commands/phub.js +83 -0
- package/modules/commands/pin.js +36 -0
- package/modules/commands/ping.js +30 -0
- package/modules/commands/pingv2.js +32 -0
- package/modules/commands/pinterest.js +37 -0
- package/modules/commands/playstore.js +103 -0
- package/modules/commands/poli.js +25 -0
- package/modules/commands/pooh.js +28 -0
- package/modules/commands/post.js +272 -0
- package/modules/commands/prefix.js +43 -0
- package/modules/commands/prefixv2.js +91 -0
- package/modules/commands/prince.js +245 -0
- package/modules/commands/priyansh.js +33 -0
- package/modules/commands/pubg.js +31 -0
- package/modules/commands/punch.js +44 -0
- package/modules/commands/qr.js +36 -0
- package/modules/commands/quiz.js +51 -0
- package/modules/commands/rainbow.js +29 -0
- package/modules/commands/randomicon.js +36 -0
- package/modules/commands/rankcard (copy).js +257 -0
- package/modules/commands/rankcard.js +216 -0
- package/modules/commands/rankgif.js +375 -0
- package/modules/commands/rankup.js +123 -0
- package/modules/commands/red.js +29 -0
- package/modules/commands/red2.js +1 -0
- package/modules/commands/reload.js +22 -0
- package/modules/commands/removebg.js +61 -0
- package/modules/commands/resend.js +86 -0
- package/modules/commands/resetexp.js +25 -0
- package/modules/commands/resetmoney.js +25 -0
- package/modules/commands/restart.js +32 -0
- package/modules/commands/rip.js +32 -0
- package/modules/commands/rnamebot.js +39 -0
- package/modules/commands/rnamebox.js +27 -0
- package/modules/commands/rule.js +86 -0
- package/modules/commands/sauce.js +56 -0
- package/modules/commands/say.js +62 -0
- package/modules/commands/schoolid.js +107 -0
- package/modules/commands/screenshot.js +44 -0
- package/modules/commands/screenshotv2.js +44 -0
- package/modules/commands/search.js +21 -0
- package/modules/commands/selflisten.js +30 -0
- package/modules/commands/sendfile.js +102 -0
- package/modules/commands/sendnoti.js +76 -0
- package/modules/commands/sendnoti1.js +40 -0
- package/modules/commands/sendnoti2.js +75 -0
- package/modules/commands/sendnoti5.js +113 -0
- package/modules/commands/sentnoti.js +49 -0
- package/modules/commands/setall.js +24 -0
- package/modules/commands/setcoins.js +21 -0
- package/modules/commands/setdatabox.js +26 -0
- package/modules/commands/setdatauser.js +28 -0
- package/modules/commands/setemoji.js +15 -0
- package/modules/commands/setexp.js +64 -0
- package/modules/commands/setjoin.js +94 -0
- package/modules/commands/setkey.js +18 -0
- package/modules/commands/setmoney.js +63 -0
- package/modules/commands/setname.js +17 -0
- package/modules/commands/setnameall.js +24 -0
- package/modules/commands/setprefix.js +58 -0
- package/modules/commands/setrankup.js +90 -0
- package/modules/commands/shayri.js +34 -0
- package/modules/commands/shell.js +31 -0
- package/modules/commands/shortcut.js +177 -0
- package/modules/commands/siesta.js +25 -0
- package/modules/commands/sim.js +51 -0
- package/modules/commands/sing.js +1 -0
- package/modules/commands/slap.js +44 -0
- package/modules/commands/sleep.js +61 -0
- package/modules/commands/slot.js +61 -0
- package/modules/commands/slotwaifu.js +254 -0
- package/modules/commands/solarsystem.js +102 -0
- package/modules/commands/spamban.js +69 -0
- package/modules/commands/spamban1.js +69 -0
- package/modules/commands/spank.js +30 -0
- package/modules/commands/status.js +37 -0
- package/modules/commands/steal.js +41 -0
- package/modules/commands/student.js +75 -0
- package/modules/commands/studentv2.js +75 -0
- package/modules/commands/studentv3.js +74 -0
- package/modules/commands/sub.js +26 -0
- package/modules/commands/system.js +82 -0
- package/modules/commands/tea.js +26 -0
- package/modules/commands/teach.js +70 -0
- package/modules/commands/textpro.js +445 -0
- package/modules/commands/thread.js +272 -0
- package/modules/commands/tictactoe.json +219 -0
- package/modules/commands/tid.js +15 -0
- package/modules/commands/tiki.js +74 -0
- package/modules/commands/tikvideo.js +59 -0
- package/modules/commands/tile.js +43 -0
- package/modules/commands/time.js +19 -0
- package/modules/commands/toctoc.js +1 -0
- package/modules/commands/toilet.js +79 -0
- package/modules/commands/token.js +42 -0
- package/modules/commands/top.js +160 -0
- package/modules/commands/trans.js +44 -0
- package/modules/commands/triggered.js +25 -0
- package/modules/commands/try.js +35 -0
- package/modules/commands/tweet-tag.json +1 -0
- package/modules/commands/tweet.js +75 -0
- package/modules/commands/tweet.json +92 -0
- package/modules/commands/tweetv2.json +92 -0
- package/modules/commands/uid.js +17 -0
- package/modules/commands/unban.js +186 -0
- package/modules/commands/unsend.js +27 -0
- package/modules/commands/unsentvip.js +16 -0
- package/modules/commands/uptime.js +141 -0
- package/modules/commands/uptime2.js +151 -0
- package/modules/commands/uptime3.js +151 -0
- package/modules/commands/user.js +278 -0
- package/modules/commands/vanilla.json +38 -0
- package/modules/commands/video.js +2 -0
- package/modules/commands/videov2.js +124 -0
- package/modules/commands/virgin.js +25 -0
- package/modules/commands/vtuber.js +109 -0
- package/modules/commands/vtuberWiki.js +164 -0
- package/modules/commands/wall/MTOJamai.ttf +0 -0
- package/modules/commands/wanted.json +32 -0
- package/modules/commands/war.js +54 -0
- package/modules/commands/warning.js +88 -0
- package/modules/commands/wasted.json +56 -0
- package/modules/commands/weather.js +50 -0
- package/modules/commands/wednesday.js +26 -0
- package/modules/commands/wiki.js +37 -0
- package/modules/commands/wom.js +26 -0
- package/modules/commands/work.js +93 -0
- package/modules/commands/xavier.js +75 -0
- package/modules/commands/xvideo.js +1 -0
- package/modules/commands/yaoi.json +31 -0
- package/modules/commands/yes.js +74 -0
- package/modules/commands/yuri.json +34 -0
- package/modules/commands/zackv.js +105 -0
- package/modules/commands/zalgo.js +16 -0
- package/modules/commands/zerotwo.js +52 -0
- package/modules/commands/zuck.js +77 -0
- package/modules/commands/zz.js +43 -0
- package/modules/commands/zzz.js +50 -0
- package/modules/commands/zzzz.js +48 -0
- package/modules/commands/zzzzz.js +116 -0
- package/modules/events/antijoin.js +25 -0
- package/modules/events/antiout.js +22 -0
- package/modules/events/antirobbery.js +43 -0
- package/modules/events/antist.js +216 -0
- package/modules/events/autosent.js +27 -0
- package/modules/events/autosetname.js +28 -0
- package/modules/events/cache/1689024290268.jpg +0 -0
- package/modules/events/cache/1689024291948.jpg +0 -0
- package/modules/events/cache/1689338091241.jpg +0 -0
- package/modules/events/cache/1689338091358.jpg +0 -0
- package/modules/events/cache/1689338161936.jpg +0 -0
- package/modules/events/cache/1689338162061.jpg +0 -0
- package/modules/events/cache/1689782720063.jpg +0 -0
- package/modules/events/cache/1696308600074.jpg +0 -0
- package/modules/events/cache/1696330171870.jpg +0 -0
- package/modules/events/cache/1696432181920.jpg +0 -0
- package/modules/events/cache/1696489190436.jpg +0 -0
- package/modules/events/cache/1696529399872.jpg +0 -0
- package/modules/events/cache/1696585758189.jpg +0 -0
- package/modules/events/cache/1696595392125.jpg +0 -0
- package/modules/events/cache/1696675929706.jpg +0 -0
- package/modules/events/cache/1696773555786.jpg +0 -0
- package/modules/events/cache/1697903362006.jpg +0 -0
- package/modules/events/cache/1697967586121.jpg +0 -0
- package/modules/events/cache/1698479390255.jpg +0 -0
- package/modules/events/cache/1698479678850.jpg +0 -0
- package/modules/events/cache/1698484313383.jpg +0 -0
- package/modules/events/cache/1698493158950.jpg +0 -0
- package/modules/events/cache/1700485758929.jpg +0 -0
- package/modules/events/cache/1701466775429.jpg +0 -0
- package/modules/events/cache/1701466776229.jpg +0 -0
- package/modules/events/cache/1701467351100.jpg +0 -0
- package/modules/events/cache/1701502759299.jpg +0 -0
- package/modules/events/cache/1701502759797.jpg +0 -0
- package/modules/events/cache/1703741413729.jpg +0 -0
- package/modules/events/cache/1703741413899.jpg +0 -0
- package/modules/events/cache/1703745121246.jpg +0 -0
- package/modules/events/cache/1703745121366.jpg +0 -0
- package/modules/events/cache/1703968162735.jpg +0 -0
- package/modules/events/cache/1703968162770.jpg +0 -0
- package/modules/events/cache/1704008949591.jpg +0 -0
- package/modules/events/cache/1704008949769.jpg +0 -0
- package/modules/events/cache/1704028197166.jpg +0 -0
- package/modules/events/cache/1704028197470.jpg +0 -0
- package/modules/events/cache/1704184158582.jpg +0 -0
- package/modules/events/cache/1704184158811.jpg +0 -0
- package/modules/events/cache/CourierNewPS-BoldMT.ttf +0 -0
- package/modules/events/cache/avt.png +0 -0
- package/modules/events/cache/avtuserrd.png +0 -0
- package/modules/events/cache/joinGif/randomgif/join.png +0 -0
- package/modules/events/cache/joinGif/randomgif/join2.gif +0 -0
- package/modules/events/cache/joinGif/randomgif/welc.gif +0 -0
- package/modules/events/cache/joinMp4/hello.gif +0 -0
- package/modules/events/cache/joinnoti.png +0 -0
- package/modules/events/emoji.json +1 -0
- package/modules/events/join.js +4 -0
- package/modules/events/joinNoti.js +82 -0
- package/modules/events/leave.js +34 -0
- package/modules/events/log.js +106 -0
- package/package.json +121 -0
- package/utils/index.html +519 -0
- package/utils/index.js +159 -0
- package/utils/log.js +29 -0
- package/werewolfConfig.js +229 -0
@@ -0,0 +1,272 @@
|
|
1
|
+
module.exports.config = {
|
2
|
+
name: "thread",
|
3
|
+
version: "1.0.5",
|
4
|
+
hasPermssion: 2,
|
5
|
+
credits: "Priyansh Rajput",
|
6
|
+
description: "Ban or unban a group",
|
7
|
+
commandCategory: "system",
|
8
|
+
usages: "[unban/ban/search] [ID or text]",
|
9
|
+
cooldowns: 5,
|
10
|
+
dependencies: {
|
11
|
+
"moment-timezone": ""
|
12
|
+
}
|
13
|
+
};
|
14
|
+
|
15
|
+
module.exports.languages = {
|
16
|
+
"vi": {
|
17
|
+
"reason": "Lรฝ do",
|
18
|
+
"at": "vร o lรบc",
|
19
|
+
"allCommand": "toร n bแป lแปnh",
|
20
|
+
"commandList": "nhแปฏng lแปnh",
|
21
|
+
"banSuccess": "[โ ๏ธ ๐๐๐ง ๐๐ก๐ซ๐๐๐ โ ๏ธ] - ๐๐ฎฬฬ ๐ฅ๐ฒฬ ๐ญ๐ก๐ฬ๐ง๐ก ๐๐จฬ๐ง๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐๐ฬฬ๐ฆ ๐ง๐ก๐จฬ๐ฆ ๐๐จฬ ๐๐ %1",
|
22
|
+
"unbanSuccess": "[๐ธ ๐๐ง๐๐๐ง ๐๐ก๐ซ๐๐๐ ๐ธ] - ๐๐ฎฬฬ ๐ฅ๐ฒฬ ๐ญ๐ก๐ฬ๐ง๐ก ๐๐จฬ๐ง๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐ ๐จฬฬ ๐๐ฬฬ๐ฆ ๐ง๐ก๐จฬ๐ฆ ๐๐จฬ ๐๐ %1",
|
23
|
+
"banCommandSuccess": "[๐ ๐๐๐ง๐๐จ๐ฆ๐ฆ๐๐ง๐ ๐๐ก๐ซ๐๐๐ ๐จ] - ๐๐ฎฬฬ ๐ฅ๐ฒฬ ๐ญ๐ก๐ฬ๐ง๐ก ๐๐จฬ๐ง๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐๐ฬฬ๐ฆ ๐ฅ๐ฬฃฬ๐ง๐ก ๐ฏ๐จฬฬ๐ข ๐ง๐ก๐จฬ๐ฆ ๐๐จฬ ๐๐ %1",
|
24
|
+
"unbanCommandSuccess": "[๐ ๐๐ง๐๐๐ง๐๐จ๐ฆ๐ฆ๐๐ง๐ ๐๐ก๐ซ๐๐๐ ๐ธ] - ๐๐ฎฬฬ ๐ฅ๐ฒฬ ๐ญ๐ก๐ฬ๐ง๐ก ๐๐จฬ๐ง๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐ ๐จฬฬ ๐๐ฬฬ๐ฆ %1 ๐ซ๐ข๐ฬ๐ง๐ ๐ฏ๐จฬฬ๐ข ๐ง๐ก๐จฬ๐ฆ ๐๐จฬ ๐๐ %2",
|
25
|
+
"errorReponse": "%1 Khรดng thแป hoร n tแบฅt cรดng viแปc bแบกn yรชu cแบงu ฤแปi vแปi nhรณm cรณ ID %2",
|
26
|
+
"IDNotFound": "%1 ID bแบกn nhแบญp khรดng tแปn tแบกi trong cฦก sแป dแปฏ liแปu",
|
27
|
+
"existBan": "[๐ธ ๐๐๐ง ๐๐ก๐ซ๐๐๐ ๐ธ] - ๐๐ %1 ๐ก๐ข๐ฬฃฬ๐ง ๐ฏ๐ฬฬ๐ง ๐๐ขฬฃ ๐๐๐ง ๐ญ๐ฎฬฬ ๐ญ๐ซ๐ฎฬ๐จฬฬ๐ %2 %3",
|
28
|
+
"notExistBan": "[๐จ ๐๐ง๐๐๐ง ๐๐ก๐ซ๐๐๐ ๐จ] - ๐๐ ๐๐ฬฃ๐ง ๐ง๐ก๐ฬฃฬ๐ฉ ๐๐ก๐ฎฬ๐ ๐ญ๐ฎฬฬ๐ง๐ ๐๐ขฬฃ ๐๐ฬฬ๐ฆ ๐ฌ๐ฎฬฬ ๐๐ฎฬฃ๐ง๐ ๐๐จ๐ญ",
|
29
|
+
"missingCommandInput": "%1 Phแบงn command cแบงn cแบฅm khรดng ฤฦฐแปฃc ฤแป trแปng!",
|
30
|
+
"notExistBanCommand": "[๐งฌ ๐๐ง๐๐๐ง๐๐จ๐ฆ๐ฆ๐๐ง๐ ๐๐ก๐ซ๐๐๐ ๐งฌ] - ๐๐ข๐ฬฃฬ๐ง ๐ญ๐ฬฃ๐ข ๐๐ ๐ง๐ก๐จฬ๐ฆ ๐๐ฬฃ๐ง ๐ง๐ก๐ฬฃฬ๐ฉ ๐๐ก๐ฎฬ๐ ๐ญ๐ฎฬฬ๐ง๐ ๐๐ขฬฃ ๐๐ฬฬ๐ฆ ๐ฌ๐ฎฬฬ ๐๐ฎฬฃ๐ง๐ ๐ฅ๐ฬฃฬ๐ง๐ก",
|
31
|
+
|
32
|
+
"returnBan": "[๐ ๐๐๐ง ๐๐ก๐ซ๐๐๐ ๐] - ๐๐ข๐ฬฃฬ๐ง ๐ญ๐ฬฃ๐ข ๐๐ฬฃ๐ง ๐ฏ๐ฎฬฬ๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐๐ก๐จ ๐ง๐ก๐จฬ๐ฆ ๐ง๐ฬ๐ฒ ๐ฏ๐ฬฬ ๐๐ฬ๐ญ ๐๐ฎฬฃ๐ข:\nโฏ ๐๐ ๐ง๐ก๐จฬ๐ฆ ๐๐ฬฬ๐ง ๐๐ฬฬ๐ฆ: %1%2\n\nโฎ๐ธ ๐๐๐๐๐ญ๐ข๐จ๐ง ๐ญ๐ข๐ง ๐ง๐ก๐ฬฬ๐ง ๐ง๐ฬ๐ฒ ๐ง๐ฬฬ๐ฎ ๐ฑ๐ฬ๐ ๐ง๐ก๐ฬฃฬ๐ง ๐๐ฬฬ๐ฆ ๐ธโฏ",
|
33
|
+
"returnUnban": "[ ๐๐ง๐๐๐ง ๐๐ก๐ซ๐๐๐ ] - ๐๐ข๐ฬฃฬ๐ง ๐ญ๐ฬฃ๐ข ๐๐ฬฃ๐ง ๐ฏ๐ฎฬฬ๐ ๐ฒ๐ฬ๐ฎ ๐๐ฬฬ๐ฎ ๐๐ก๐จ ๐ง๐ก๐จฬ๐ฆ ๐ง๐ฬ๐ฒ ๐ฆ๐จฬฃฬ๐ญ ๐ฬ๐ง ๐ก๐ฎ๐ฬฃฬ ๐ฏ๐ฬฬ ๐ก๐จ๐ฬ ๐ง๐ก๐ฬฃฬ๐ฉ ๐ฏ๐จฬฬ๐ข ๐ฑ๐ฬ ๐ก๐จฬฃฬ๐ข:\nโฏ ๐๐ ๐ง๐ก๐จฬ๐ฆ ๐๐ฬฬ๐ง ๐ ๐จฬฬ ๐๐ฬฬ๐ฆ: %1\n\nโฎ๐ ๐๐๐๐๐ญ๐ข๐จ๐ง ๐ญ๐ข๐ง ๐ง๐ก๐ฬฬ๐ง ๐ง๐ฬ๐ฒ ๐ง๐ฬฬ๐ฎ ๐ฑ๐ฬ๐ ๐ง๐ก๐ฬฃฬ๐ง ๐ ๐จฬฬ ๐๐ฬฬ๐ฆ ๐โฏ",
|
34
|
+
"returnBanCommand": "[ ๐๐๐ง๐๐จ๐ฆ๐ฆ๐๐ง๐ ๐๐ก๐ซ๐๐๐ ] - Hiแปn tแบกi bแบกn ฤang yรชu cแบงu cแบฅm sแปญ dแปฅng lแปnh ฤแปi vแปi nhรณm:\n - ID nhรณm cแบงn cแบฅm: %1\n- Cรกc lแปnh cแบงn cแบฅm: %2\n\nโฎ Reaction tin nhแบฏn nร y ฤแป xรกc thแปฑc โฏ",
|
35
|
+
"returnUnbanCommand": "[ ๐๐ง๐๐๐ง๐๐จ๐ฆ๐ฆ๐๐ง๐ ๐๐ก๐ซ๐๐๐ ] - Hiแปn tแบกi bแบกn ฤang yรชu cแบงu gแปก cแบฅm sแปญ dแปฅng lแปnh ฤแปi vแปi nhรณm:\n - ID nhรณm cแบงn gแปก cแบฅm lแปnh: %1\n- Cรกc lแปnh cแบงn gแปก cแบฅm: %2\n\nโฎ Reaction tin nhแบฏn nร y ฤแป xรกc thแปฑc โฏ",
|
36
|
+
|
37
|
+
"returnResult": "ฤรขy lร kแบฟt quแบฃ phรน hแปฃp: \n",
|
38
|
+
"returnNull": "Khรดng tรฌm thแบฅy kแบฟt quแบฃ dแปฑa vร o tรฌm kiแบฟm cแปงa bแบกn!",
|
39
|
+
"returnList": "[ Thread List ]\nHiแปn tแบกi ฤang cรณ %1 nhรณm bแป ban, dฦฐแปi ฤรขy lร %2 nhรณm\n\n%3",
|
40
|
+
"returnInfo": "[ Info Thread ] ฤรขy lร mแปt sรด thรดng tin vแป nhรณm bแบกn cแบงn tรฌm:\n- ID cแปงa nhรณm: %1n- Cรณ bแป ban?: %2 %3 %4\n- Bแป ban lแปnh?: %5"
|
41
|
+
},
|
42
|
+
"en": {
|
43
|
+
"reason": "Reason",
|
44
|
+
"at": "At",
|
45
|
+
"allCommand": "All commands",
|
46
|
+
"commandList": "Commands",
|
47
|
+
"banSuccess": "[ Ban Thread ] Banned thread has ID %1",
|
48
|
+
"unbanSuccess": "[ Unban Thread ] Unbanned thread has ID %1",
|
49
|
+
"banCommandSuccess": "[ banCommand Thread ] Banned command with thread has ID %1",
|
50
|
+
"unbanCommandSuccess": "[ unbanCommand Thread ] Unbanned %1 with thread has ID %2",
|
51
|
+
"errorReponse": "%1 Can't do what you request with thread has ID %2",
|
52
|
+
"IDNotFound": "%1 ID you import doesn't exist in database",
|
53
|
+
"existBan": "[ Ban Thread ] ID %1 has been banned before %2 %3",
|
54
|
+
"notExistBan": "[ Unban Thread ] ID you import hasn't been banned before bot",
|
55
|
+
"missingCommandInput": "%1 You have to import the command you want to ban!",
|
56
|
+
"notExistBanCommand": "[ UnbanCommand Thread ] The thread ID you import hasn't been banned before",
|
57
|
+
|
58
|
+
"returnBan": "[ Ban Thread ] You are requesting to ban thread:\n- Thread ID: %1%2\n\nโฎ Reaction this message to complete โฏ",
|
59
|
+
"returnUnban": "[ Unban Thread ] You are requesting to unban thread:\n- Thread ID: %1\n\nโฎ Reaction this message to complete โฏ",
|
60
|
+
"returnBanCommand": "[ banCommand Thread ] You are requesting to ban command with thread:\n - Thread ID: %1\n- Commands: %2\n\nโฎ Reaction this message to complete โฏ",
|
61
|
+
"returnUnbanCommand": "[ unbanCommand Thread ] You are requesting to unban command with thread:\n - Thread ID: %1\n- Commands: %2\n\nโฎ Reaction this message to complete โฏ",
|
62
|
+
|
63
|
+
"returnResult": "This is your result: \n",
|
64
|
+
"returnNull": "There is no result with your input!",
|
65
|
+
"returnList": "[ Thread List ]\There are %1 banned thread, here are %2\n\n%3",
|
66
|
+
"returnInfo": "[ Info Thread ] Here are some information about your thread which you want to search:\n- Thread ID: %1n- Banned?: %2 %3 %4\n- Command banned?: %5"
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
module.exports.handleReaction = async ({ event, api, Threads, handleReaction, getText }) => {
|
71
|
+
if (parseInt(event.userID) !== parseInt(handleReaction.author)) return;
|
72
|
+
const moment = require("moment-timezone");
|
73
|
+
const { threadID } = event;
|
74
|
+
const { messageID, type, targetID, reason, commandNeedBan } = handleReaction;
|
75
|
+
|
76
|
+
const time = moment.tz("Asia/Ho_Chi_minh").format("HH:MM:ss L");
|
77
|
+
global.client.handleReaction.splice(global.client.handleReaction.findIndex(item => item.messageID == messageID), 1);
|
78
|
+
|
79
|
+
switch (type) {
|
80
|
+
case "ban": {
|
81
|
+
try {
|
82
|
+
let data = (await Threads.getData(targetID)).data || {};
|
83
|
+
data.banned = true;
|
84
|
+
data.reason = reason || null;
|
85
|
+
data.dateAdded = time;
|
86
|
+
await Threads.setData(targetID, { data });
|
87
|
+
global.data.threadBanned.set(targetID, { reason: data.reason, dateAdded: data.dateAdded });
|
88
|
+
return api.sendMessage(getText("banSuccess", targetID), threadID, () => {
|
89
|
+
return api.unsendMessage(messageID);
|
90
|
+
});
|
91
|
+
} catch { return api.sendMessage(getText("errorReponse", "[ Ban Thread ]", targetID), threadID) };
|
92
|
+
}
|
93
|
+
|
94
|
+
case "unban": {
|
95
|
+
try {
|
96
|
+
let data = (await Threads.getData(targetID)).data || {};
|
97
|
+
data.banned = false;
|
98
|
+
data.reason = null;
|
99
|
+
data.dateAdded = null;
|
100
|
+
await Threads.setData(targetID, { data });
|
101
|
+
global.data.threadBanned.delete(targetID);
|
102
|
+
return api.sendMessage(getText("unbanSuccess", targetID), threadID, () => {
|
103
|
+
return api.unsendMessage(messageID);
|
104
|
+
});
|
105
|
+
} catch { return api.sendMessage(getText("errorReponse", "[ unBan Thread ]", targetID), threadID) };
|
106
|
+
}
|
107
|
+
|
108
|
+
case "banCommand": {
|
109
|
+
try {
|
110
|
+
let data = (await Threads.getData(targetID)).data || {};
|
111
|
+
data.commandBanned = [...data.commandBanned || [], ...commandNeedBan];
|
112
|
+
await Threads.setData(targetID, { data });
|
113
|
+
global.data.commandBanned.set(targetID, data.commandBanned);
|
114
|
+
return api.sendMessage(getText("banCommandSuccess", targetID), threadID, () => {
|
115
|
+
return api.unsendMessage(messageID);
|
116
|
+
});
|
117
|
+
} catch (e) { return api.sendMessage(getText("errorReponse", "[ banCommand Thread ]", targetID), threadID) };
|
118
|
+
}
|
119
|
+
|
120
|
+
case "unbanCommand": {
|
121
|
+
try {
|
122
|
+
let data = (await Threads.getData(targetID)).data || {};
|
123
|
+
data.commandBanned = [...data.commandBanned.filter(item => !commandNeedBan.includes(item))];
|
124
|
+
await Threads.setData(targetID, { data });
|
125
|
+
global.data.commandBanned.set(targetID, data.commandBanned);
|
126
|
+
if(data.commandBanned.length == 0) global.data.commandBanned.delete(targetID)
|
127
|
+
return api.sendMessage(getText("unbanCommandSuccess", ((data.commandBanned.length == 0) ? getText("allCommand") : `${getText("commandList")}: ${commandNeedBan.join(", ")}`), targetID), threadID, () => {
|
128
|
+
return api.unsendMessage(messageID);
|
129
|
+
});
|
130
|
+
} catch (e) { return api.sendMessage(getText("errorReponse", "[ unbanCommand Thread ]", targetID), threadID) };
|
131
|
+
}
|
132
|
+
default:
|
133
|
+
break;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
module.exports.run = async ({ event, api, args, Threads, getText }) => {
|
138
|
+
const { threadID, messageID } = event;
|
139
|
+
var targetID = String(args[1]);
|
140
|
+
var reason = (args.slice(2, args.length)).join(" ") || null;
|
141
|
+
|
142
|
+
if (isNaN(targetID)) {
|
143
|
+
targetID = String(event.threadID);
|
144
|
+
reason = (args.slice(1, args.length)).join(" ") || null;
|
145
|
+
}
|
146
|
+
|
147
|
+
switch (args[0]) {
|
148
|
+
case "ban":
|
149
|
+
case "-b": {
|
150
|
+
if (!global.data.allThreadID.includes(targetID)) return api.sendMessage(getText("IDNotFound", "[ Ban Thread ]"), threadID, messageID);
|
151
|
+
if (global.data.threadBanned.has(targetID)) {
|
152
|
+
const { reason, dateAdded } = global.data.threadBanned.get(targetID) || {};
|
153
|
+
return api.sendMessage(getText("existBan", targetID, ((reason) ? `${getText("reason")}: "${reason}"` : ""), ((dateAdded) ? `${getText("at")}: ${dateAdded}` : "")), threadID, messageID);
|
154
|
+
}
|
155
|
+
return api.sendMessage(getText("returnBan", targetID, ((reason) ? `\n- ${getText("reason")}: ${reason}` : "")), threadID, (error, info) => {
|
156
|
+
global.client.handleReaction.push({
|
157
|
+
type: "ban",
|
158
|
+
targetID,
|
159
|
+
reason,
|
160
|
+
name: this.config.name,
|
161
|
+
messageID: info.messageID,
|
162
|
+
author: event.senderID,
|
163
|
+
|
164
|
+
});
|
165
|
+
}, messageID);
|
166
|
+
}
|
167
|
+
|
168
|
+
case "unban":
|
169
|
+
case "-ub": {
|
170
|
+
if (!global.data.allThreadID.includes(targetID)) return api.sendMessage(getText("IDNotFound", "[ Unban Thread ]"), threadID, messageID);
|
171
|
+
if (!global.data.threadBanned.has(targetID)) return api.sendMessage(getText("notExistBan"), threadID, messageID);
|
172
|
+
return api.sendMessage(getText("returnUnban", targetID), threadID, (error, info) => {
|
173
|
+
global.client.handleReaction.push({
|
174
|
+
type: "unban",
|
175
|
+
targetID,
|
176
|
+
name: this.config.name,
|
177
|
+
messageID: info.messageID,
|
178
|
+
author: event.senderID,
|
179
|
+
|
180
|
+
});
|
181
|
+
}, messageID);
|
182
|
+
}
|
183
|
+
|
184
|
+
case "banCommand":
|
185
|
+
case "-bc": {
|
186
|
+
if (!global.data.allThreadID.includes(targetID)) return api.sendMessage(getText("IDNotFound", "[ BanCommand Thread ]"), threadID, messageID);
|
187
|
+
if (reason == null || reason.length == 0) return api.sendMessage(getText("missingCommandInput", '[ BanCommand Thread ]'), threadID, messageID);
|
188
|
+
if (reason == "all") {
|
189
|
+
var allCommandName = [];
|
190
|
+
const commandValues = global.client.commands.keys();
|
191
|
+
for (const cmd of commandValues) allCommandName.push(cmd);
|
192
|
+
reason = allCommandName.join(" ");
|
193
|
+
}
|
194
|
+
const commandNeedBan = reason.split(" ");
|
195
|
+
return api.sendMessage(getText("returnBanCommand", targetID, ((commandNeedBan.length == global.client.commands.size) ? getText("allCommand") : commandNeedBan.join(", "))), threadID, (error, info) => {
|
196
|
+
global.client.handleReaction.push({
|
197
|
+
type: "banCommand",
|
198
|
+
targetID,
|
199
|
+
commandNeedBan,
|
200
|
+
name: this.config.name,
|
201
|
+
messageID: info.messageID,
|
202
|
+
author: event.senderID,
|
203
|
+
|
204
|
+
});
|
205
|
+
}, messageID);
|
206
|
+
}
|
207
|
+
|
208
|
+
case "unbanCommand":
|
209
|
+
case "-ubc": {
|
210
|
+
if (!global.data.allThreadID.includes(targetID)) return api.sendMessage(getText("IDNotFound", "[ UnbanCommand Thread ]"), threadID, messageID);
|
211
|
+
if (!global.data.commandBanned.has(targetID)) return api.sendMessage(getText("notExistBanCommand"), threadID, messageID);
|
212
|
+
if (reason == null || reason.length == 0) return api.sendMessage(getText("missingCommandInput", "[ UnbanCommand Thread ]"), threadID, messageID);
|
213
|
+
if (reason == "all") {
|
214
|
+
reason = (global.data.commandBanned.get(targetID)).join(" ");
|
215
|
+
}
|
216
|
+
const commandNeedBan = reason.split(" ");
|
217
|
+
return api.sendMessage(getText("returnUnbanCommand", targetID, ((commandNeedBan.length == global.data.commandBanned.get(targetID).length) ? "toร n bแป lแปnh" : commandNeedBan.join(", "))), threadID, (error, info) => {
|
218
|
+
global.client.handleReaction.push({
|
219
|
+
type: "unbanCommand",
|
220
|
+
targetID,
|
221
|
+
commandNeedBan,
|
222
|
+
name: this.config.name,
|
223
|
+
messageID: info.messageID,
|
224
|
+
author: event.senderID,
|
225
|
+
|
226
|
+
});
|
227
|
+
}, messageID);
|
228
|
+
}
|
229
|
+
|
230
|
+
case "search":
|
231
|
+
case "-s": {
|
232
|
+
const contentJoin = reason || "";
|
233
|
+
const getThreads = (await Threads.getAll(['threadID', 'threadInfo'])).filter(item => !!item.threadInfo);
|
234
|
+
var matchThreads = [], a = '', b = 0;
|
235
|
+
getThreads.forEach(i => {
|
236
|
+
if ((i.threadInfo.threadName || "").toLowerCase().includes(contentJoin.toLowerCase())) {
|
237
|
+
matchThreads.push({
|
238
|
+
name: i.threadInfo.threadName,
|
239
|
+
id: i.threadID
|
240
|
+
});
|
241
|
+
}
|
242
|
+
});
|
243
|
+
matchThreads.forEach(i => a += `\n${b += 1}. ${i.name} - ${i.id}`);
|
244
|
+
(matchThreads.length > 0) ? api.sendMessage(getText("returnResult", a), threadID) : api.sendMessage(getText("returnNull"), threadID, messageID);
|
245
|
+
break;
|
246
|
+
}
|
247
|
+
|
248
|
+
case "list":
|
249
|
+
case "-l": {
|
250
|
+
var listBan = [], i = 0;
|
251
|
+
const threadData = global.data.threadBanned.keys();
|
252
|
+
for (; ;) {
|
253
|
+
if (i > global.data.threadBanned.size) break;
|
254
|
+
let idThread = String(threadData.next().value);
|
255
|
+
if (typeof idThread == "undefined") {
|
256
|
+
const nameThread = (await Threads.getData(idThread)).threadInfo.threadName || "unknown";
|
257
|
+
listBan.push(`${i+=1}/ ${idThread} - ${nameThread}`)
|
258
|
+
}
|
259
|
+
if (i == global.data.threadBanned.size || i == (parseInt(reason) || 10)) break;
|
260
|
+
}
|
261
|
+
return api.sendMessage(getText("returnList",(global.data.threadBanned.size || 0), listBan.length, listBan.join("\n")), threadID, messageID);
|
262
|
+
}
|
263
|
+
|
264
|
+
case "info":
|
265
|
+
case "-i": {
|
266
|
+
if (!global.data.allThreadID.includes(targetID)) return api.sendMessage(getText("IDNotFound", "[ Info Thread ]"), threadID, messageID);
|
267
|
+
if (global.data.commandBanned.has(targetID)) { var commandBanned = global.data.commandBanned.get(targetID) || [] };
|
268
|
+
if (global.data.threadBanned.has(targetID)) { var { reason, dateAdded } = global.data.threadBanned.get(targetID) || {} };
|
269
|
+
return api.sendMessage(getText("returnInfo", targetID, ((!dateAdded) ? "YES" : "NO"), ((reason) ? `${getText("reason")}: "${reason}"` : ""), ((dateAdded) ? `${getText("at")}: ${dateAdded}` : ""), ((commandBanned) ? `YES: ${commandBanned.join(", ")}` : "NO")), threadID, messageID);
|
270
|
+
}
|
271
|
+
}
|
272
|
+
}
|
@@ -0,0 +1,219 @@
|
|
1
|
+
module.exports.config = {
|
2
|
+
name: "ttt",
|
3
|
+
version: "1.0.1",
|
4
|
+
hasPermssion: 0,
|
5
|
+
credits: "Mirai Team",
|
6
|
+
description: "Play tictactoe with AI",
|
7
|
+
commandCategory: "game-sp",
|
8
|
+
cooldowns: 5,
|
9
|
+
usages: "[random/x/o]"
|
10
|
+
};
|
11
|
+
|
12
|
+
var AIMove;
|
13
|
+
|
14
|
+
function startBoard({isX, data}) {
|
15
|
+
data.board = new Array(3);
|
16
|
+
data.isX = isX;
|
17
|
+
data.gameOn = true;
|
18
|
+
data.gameOver = false;
|
19
|
+
data.available = [];
|
20
|
+
for(var i = 0; i < 3; i++) data.board[i] = new Array(3).fill(0);
|
21
|
+
return data;
|
22
|
+
}
|
23
|
+
|
24
|
+
function displayBoard(data) {
|
25
|
+
let msg = "\n";
|
26
|
+
for (var i = 0; i < 3; i++) {
|
27
|
+
for (var j = 0; j < 3; j++) {
|
28
|
+
var temp = data.board[i][j].toString();
|
29
|
+
if (temp == "0") msg += "[ ] "
|
30
|
+
else if (temp == "1") {
|
31
|
+
(data.isX) ? msg += "[O] " : msg += "[X] ";
|
32
|
+
}
|
33
|
+
else {
|
34
|
+
(data.isX) ? msg += "[X] " : msg += "[O] ";
|
35
|
+
}
|
36
|
+
}
|
37
|
+
msg += "\n";
|
38
|
+
}
|
39
|
+
return msg;
|
40
|
+
}
|
41
|
+
|
42
|
+
function checkAIWon(data) {
|
43
|
+
if(data.board[0][0] == data.board[1][1] && data.board[0][0] == data.board[2][2] && data.board[0][0] == 1) return true;
|
44
|
+
if(data.board[0][2] == data.board[1][1] && data.board[0][2] == data.board[2][0] && data.board[0][2] == 1) return true;
|
45
|
+
for(var i = 0; i < 3; ++i) {
|
46
|
+
if(data.board[i][0] == data.board[i][1] && data.board[i][0] == data.board[i][2] && data.board[i][0] == 1) return true;
|
47
|
+
if(data.board[0][i] == data.board[1][i] && data.board[0][i] == data.board[2][i] && data.board[0][i] == 1) return true;
|
48
|
+
}
|
49
|
+
return false;
|
50
|
+
}
|
51
|
+
|
52
|
+
function checkPlayerWon(data) {
|
53
|
+
if(data.board[0][0] == data.board[1][1] && data.board[0][0] == data.board[2][2] && data.board[0][0] == 2) return true;
|
54
|
+
if(data.board[0][2] == data.board[1][1] && data.board[0][2] == data.board[2][0] && data.board[0][2] == 2) return true;
|
55
|
+
for(var i = 0; i < 3; ++i) {
|
56
|
+
if(data.board[i][0] == data.board[i][1] && data.board[i][0] == data.board[i][2] && data.board[i][0] == 2) return true;
|
57
|
+
if(data.board[0][i] == data.board[1][i] && data.board[0][i] == data.board[2][i] && data.board[0][i] == 2) return true;
|
58
|
+
}
|
59
|
+
return false;
|
60
|
+
}
|
61
|
+
|
62
|
+
function solveAIMove({depth, turn, data}) {
|
63
|
+
if (checkAIWon(data)) return +1;
|
64
|
+
if (checkPlayerWon(data)) return -1;
|
65
|
+
let availablePoint = getAvailable(data);
|
66
|
+
if (availablePoint.length == 0) return 0;
|
67
|
+
|
68
|
+
var min = Number.MAX_SAFE_INTEGER;
|
69
|
+
var max = Number.MIN_SAFE_INTEGER;
|
70
|
+
|
71
|
+
for (var i = 0, length = availablePoint.length; i < length; i++) {
|
72
|
+
var point = availablePoint[i];
|
73
|
+
if (turn == 1) {
|
74
|
+
placeMove({point, player: 1, data});
|
75
|
+
var currentScore = solveAIMove({depth: depth + 1, turn: 2, data});
|
76
|
+
max = Math.max(currentScore, max);
|
77
|
+
if (currentScore >= 0) {
|
78
|
+
if (depth == 0) AIMove = point;
|
79
|
+
}
|
80
|
+
if (currentScore == 1) {
|
81
|
+
data.board[point[0]][point[1]] = 0;
|
82
|
+
break;
|
83
|
+
}
|
84
|
+
if(i == availablePoint.length - 1 && max < 0) {
|
85
|
+
if(depth == 0) AIMove = point;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
else if (turn == 2) {
|
89
|
+
placeMove({point, player: 2, data});
|
90
|
+
var currentScore = solveAIMove({depth: depth + 1, turn: 1, data});
|
91
|
+
min = Math.min(currentScore, min);
|
92
|
+
if (min == -1) {
|
93
|
+
data.board[point[0]][point[1]] = 0;
|
94
|
+
break;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
data.board[point[0]][point[1]] = 0;
|
98
|
+
}
|
99
|
+
return turn == 1 ? max : min;
|
100
|
+
}
|
101
|
+
|
102
|
+
function placeMove({point, player, data}) {
|
103
|
+
return data.board[point[0]][point[1]] = player;
|
104
|
+
}
|
105
|
+
|
106
|
+
function getAvailable(data) {
|
107
|
+
let availableMove = []
|
108
|
+
for (var i = 0; i < 3; i++) {
|
109
|
+
for (var j = 0; j < 3; j++) {
|
110
|
+
if (data.board[i][j] == 0) availableMove.push([i, j]);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
return availableMove;
|
114
|
+
}
|
115
|
+
|
116
|
+
function checkAvailableSpot(point, pointArray) {
|
117
|
+
if (pointArray.find(element => element.toString() == point.toString())) return true;//pointArray[i].toString() == point.toString()) return true;
|
118
|
+
else return false;
|
119
|
+
|
120
|
+
}
|
121
|
+
|
122
|
+
function move(x, y, data) {
|
123
|
+
if (checkGameOver(data)) return "game over";
|
124
|
+
var availablePoint = getAvailable(data);
|
125
|
+
var playerMove = [x, y];
|
126
|
+
if (checkAvailableSpot(playerMove, availablePoint)) {
|
127
|
+
placeMove({point: playerMove, player: 2, data});
|
128
|
+
} else return "spot not available";
|
129
|
+
if (checkGameOver(data)) return "game over!";
|
130
|
+
solveAIMove({depth: 0, turn: 1, data});
|
131
|
+
placeMove({point: AIMove, player: 1, data});
|
132
|
+
}
|
133
|
+
|
134
|
+
function checkGameOver(data) {
|
135
|
+
if (getAvailable(data).length == 0 || checkAIWon(data) || checkPlayerWon(data)) return true;
|
136
|
+
return false;
|
137
|
+
}
|
138
|
+
|
139
|
+
function AIStart(data) {
|
140
|
+
var point = [Math.round(Math.random()) * 2, Math.round(Math.random()) * 2];
|
141
|
+
placeMove({point, player: 1, data});
|
142
|
+
}
|
143
|
+
|
144
|
+
|
145
|
+
module.exports.handleEvent = ({ event, api }) => {
|
146
|
+
let {body, threadID, messageID,senderID} = event;
|
147
|
+
if (!global.moduleData.tictactoe) global.moduleData.tictactoe = new Map();
|
148
|
+
let data = global.moduleData.tictactoe.get(threadID);
|
149
|
+
if (!data || data.gameOn == false) return;
|
150
|
+
if (body == "show") return api.sendMessage(`${displayBoard(data)}`, threadID, messageID);
|
151
|
+
if (!data.player == senderID) return;
|
152
|
+
if(body && /^[0-9]*$/.test(body)) {
|
153
|
+
var row = parseInt(body.substring(0, 1));
|
154
|
+
var col = parseInt(body.substring(1));
|
155
|
+
if(row >= 0 && row <= 2 && col >= 0 && col <= 2) {
|
156
|
+
var temp = move(row, col, data);
|
157
|
+
if(temp == undefined) {
|
158
|
+
api.sendMessage(`${displayBoard(data)}`, threadID, messageID);
|
159
|
+
}
|
160
|
+
else {
|
161
|
+
api.sendMessage(temp, threadID);
|
162
|
+
api.sendMessage(`${displayBoard(data)}`, threadID);
|
163
|
+
}
|
164
|
+
if(checkGameOver(data)) {
|
165
|
+
if(checkAIWon(data)) api.sendMessage("AI has won!", threadID, messageID);
|
166
|
+
else if(checkPlayerWon(data)) api.sendMessage("Player has won!", threadID, messageID);
|
167
|
+
else api.sendMessage("It's a draw!", threadID, messageID);
|
168
|
+
global.moduleData.tictactoe.delete(threadID);
|
169
|
+
}
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
|
174
|
+
module.exports.run = ({ event, api, args }) => {
|
175
|
+
if (!global.moduleData.tictactoe) global.moduleData.tictactoe = new Map();
|
176
|
+
let {threadID, messageID, senderID} = event;
|
177
|
+
let data = global.moduleData.tictactoe.get(threadID) || { "gameOn": false, "player": "" };
|
178
|
+
let newData;
|
179
|
+
if (!data.gameOn) {
|
180
|
+
switch (args[0]) {
|
181
|
+
case "random":
|
182
|
+
if(Math.random() > 0.5) {
|
183
|
+
newData = startBoard({isX: true, data, threadID});
|
184
|
+
api.sendMessage("you go first, X", threadID, messageID);
|
185
|
+
api.sendMessage(`${displayBoard(newData)}`, threadID, messageID);
|
186
|
+
}
|
187
|
+
else {
|
188
|
+
newData = startBoard({isX: false, data, threadID});
|
189
|
+
AIStart(newData);
|
190
|
+
api.sendMessage("AI go first, O", threadID, messageID);
|
191
|
+
}
|
192
|
+
break;
|
193
|
+
case "x":
|
194
|
+
newData = startBoard({isX: true, data, threadID});
|
195
|
+
api.sendMessage("you go first, X", threadID, messageID);
|
196
|
+
api.sendMessage(`${displayBoard(newData)}`, threadID, messageID);
|
197
|
+
break;
|
198
|
+
case "o":
|
199
|
+
newData = startBoard({isX: false, data, threadID});
|
200
|
+
AIStart(newData);
|
201
|
+
api.sendMessage("AI go first, O", threadID, messageID);
|
202
|
+
break;
|
203
|
+
default:
|
204
|
+
if(Math.random() > 0.5) {
|
205
|
+
newData = startBoard({isX: true, data, threadID});
|
206
|
+
api.sendMessage("you go first, X", threadID, messageID);
|
207
|
+
api.sendMessage(`${displayBoard(newData)}`, threadID, messageID);
|
208
|
+
}
|
209
|
+
else {
|
210
|
+
newData = startBoard({isX: false, data, threadID});
|
211
|
+
AIStart(newData);
|
212
|
+
api.sendMessage("AI go first, O", threadID, messageID);
|
213
|
+
}
|
214
|
+
break;
|
215
|
+
}
|
216
|
+
newData.player = senderID;
|
217
|
+
global.moduleData.tictactoe.set(threadID, newData);
|
218
|
+
}
|
219
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module.exports.config = {
|
2
|
+
name: "tid",
|
3
|
+
version: "1.0.0",
|
4
|
+
hasPermssion: 0,
|
5
|
+
credits: "๐๐ซ๐ข๐ฒ๐๐ง๐ฌ๐ก ๐๐๐ฃ๐ฉ๐ฎ๐ญ",
|
6
|
+
description: "Get box id",
|
7
|
+
commandCategory: "group",
|
8
|
+
usages: "tid",
|
9
|
+
cooldowns: 5,
|
10
|
+
dependencies: '',
|
11
|
+
};
|
12
|
+
|
13
|
+
module.exports.run = async function({ api, event }) {
|
14
|
+
api.sendMessage("ID of this thread: "+event.threadID, event.threadID, event.messageID);
|
15
|
+
};
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module.exports.config = {
|
2
|
+
name: "tiki",
|
3
|
+
version: "1.0.1",
|
4
|
+
hasPermssion: 0,
|
5
|
+
credits: "๐๐ซ๐ข๐ฒ๐๐ง๐ฌ๐ก ๐๐๐ฃ๐ฉ๐ฎ๐ญ",
|
6
|
+
description: "Write words on the board \_(ใ)_/ยฏ",
|
7
|
+
commandCategory: "Tools",
|
8
|
+
usages: "tiki [text]",
|
9
|
+
cooldowns: 10,
|
10
|
+
dependencies: {
|
11
|
+
"canvas":"",
|
12
|
+
"axios":"",
|
13
|
+
"fs-extra":""
|
14
|
+
}
|
15
|
+
};
|
16
|
+
|
17
|
+
module.exports.wrapText = (ctx, text, maxWidth) => {
|
18
|
+
return new Promise(resolve => {
|
19
|
+
if (ctx.measureText(text).width < maxWidth) return resolve([text]);
|
20
|
+
if (ctx.measureText('W').width > maxWidth) return resolve(null);
|
21
|
+
const words = text.split(' ');
|
22
|
+
const lines = [];
|
23
|
+
let line = '';
|
24
|
+
while (words.length > 0) {
|
25
|
+
let split = false;
|
26
|
+
while (ctx.measureText(words[0]).width >= maxWidth) {
|
27
|
+
const temp = words[0];
|
28
|
+
words[0] = temp.slice(0, -1);
|
29
|
+
if (split) words[1] = `${temp.slice(-1)}${words[1]}`;
|
30
|
+
else {
|
31
|
+
split = true;
|
32
|
+
words.splice(1, 0, temp.slice(-1));
|
33
|
+
}
|
34
|
+
}
|
35
|
+
if (ctx.measureText(`${line}${words[0]}`).width < maxWidth) line += `${words.shift()} `;
|
36
|
+
else {
|
37
|
+
lines.push(line.trim());
|
38
|
+
line = '';
|
39
|
+
}
|
40
|
+
if (words.length === 0) lines.push(line.trim());
|
41
|
+
}
|
42
|
+
return resolve(lines);
|
43
|
+
});
|
44
|
+
}
|
45
|
+
|
46
|
+
module.exports.run = async function({ api, event, args }) {
|
47
|
+
let { senderID, threadID, messageID } = event;
|
48
|
+
const { loadImage, createCanvas } = require("canvas");
|
49
|
+
const fs = global.nodemodule["fs-extra"];
|
50
|
+
const axios = global.nodemodule["axios"];
|
51
|
+
let pathImg = __dirname + '/cache/tiki.png';
|
52
|
+
var text = args.join(" ");
|
53
|
+
if (!text) return api.sendMessage("Enter content", threadID, messageID);
|
54
|
+
let getPorn = (await axios.get(`https://imgur.com/nqUIi2S.png`, { responseType: 'arraybuffer' })).data;
|
55
|
+
fs.writeFileSync(pathImg, Buffer.from(getPorn, 'utf-8'));
|
56
|
+
let baseImage = await loadImage(pathImg);
|
57
|
+
let canvas = createCanvas(baseImage.width, baseImage.height);
|
58
|
+
let ctx = canvas.getContext("2d");
|
59
|
+
ctx.drawImage(baseImage, 0, 0, canvas.width, canvas.height);
|
60
|
+
ctx.font = "200 50px Gabriele";
|
61
|
+
ctx.fillStyle = "#FFCC33";
|
62
|
+
ctx.textAlign = "start";
|
63
|
+
let fontSize = 45;
|
64
|
+
while (ctx.measureText(text).width > 2600) {
|
65
|
+
fontSize--;
|
66
|
+
ctx.font = `400 ${fontSize}px Gabriele, sans-serif`;
|
67
|
+
}
|
68
|
+
const lines = await this.wrapText(ctx, text, 900);
|
69
|
+
ctx.fillText(lines.join('\n'), 625,430);//comment
|
70
|
+
ctx.beginPath();
|
71
|
+
const imageBuffer = canvas.toBuffer();
|
72
|
+
fs.writeFileSync(pathImg, imageBuffer);
|
73
|
+
return api.sendMessage({ attachment: fs.createReadStream(pathImg) }, threadID, () => fs.unlinkSync(pathImg), messageID);
|
74
|
+
}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module.exports.config = {
|
2
|
+
name: "tikvideo",
|
3
|
+
version: "1.0.0",
|
4
|
+
hasPermssion: 0,
|
5
|
+
credits: "Thiแปu Trung Kiรชn",
|
6
|
+
description: "Download tiktok video",
|
7
|
+
commandCategory: "For user",
|
8
|
+
usages: "",
|
9
|
+
cooldowns: 5
|
10
|
+
}, module.exports.onLoad = function() {
|
11
|
+
console.log("===TIKTOK DOWNLOAD NO WATERMARK===")
|
12
|
+
}, module.exports.run = async function({ args,event, api }) {
|
13
|
+
const axios = require("axios");
|
14
|
+
const fs = require("fs-extra");
|
15
|
+
const request = require("request");
|
16
|
+
var img = [];
|
17
|
+
if(!args[0]){
|
18
|
+
return api.sendMessage(`No content entered`,event.threadID, event.messageID)
|
19
|
+
}
|
20
|
+
const res = (await axios.get(`http://api.leanhtruong.net/api-no-key/tiktok?url=${encodeURI(args[0])}`)).data
|
21
|
+
let imga = (await axios.get(res.thumbail , { responseType: "arraybuffer" } )).data;
|
22
|
+
fs.writeFileSync(__dirname + "/cache/tiktok.png", Buffer.from(imga, "utf-8") );
|
23
|
+
img.push(fs.createReadStream(__dirname + "/cache/tiktok.png"));
|
24
|
+
var msg = {body: `Title: ${res.title}\nAuthor : ${res.author_video}\nTitle Music : ${res.data_music.title}\n\n1.Download Videos\n2.Download Music\n\nReply message to choose!`,attachment: img}
|
25
|
+
return api.sendMessage(msg, event.threadID, (error, info) => {
|
26
|
+
global.client.handleReply.push({
|
27
|
+
type: "reply",
|
28
|
+
name: this.config.name,
|
29
|
+
author: event.senderID,
|
30
|
+
messageID: info.messageID,
|
31
|
+
video: res.data_nowatermark[0].url,
|
32
|
+
mp3: res.data_music.url,
|
33
|
+
title: res.title,
|
34
|
+
authorvd: res.author_video,
|
35
|
+
text : res.data_music.title
|
36
|
+
})
|
37
|
+
})
|
38
|
+
}
|
39
|
+
module.exports.handleReply = async function ({ args, event, Users, Currencies, api, handleReply }) {
|
40
|
+
const axios = require("axios");
|
41
|
+
const fs = require("fs-extra");
|
42
|
+
const request = require("request");
|
43
|
+
let { author, video,mp3, title,authorvd, text , messageID } = handleReply;
|
44
|
+
if (event.senderID != author) return api.sendMessage("Rรกc ?", event.threadID, event.messageID);
|
45
|
+
switch(handleReply.type) {
|
46
|
+
case "reply": {
|
47
|
+
switch(event.body){
|
48
|
+
case"1":{
|
49
|
+
var callback = () => api.sendMessage({body:`VIDEO : ${authorvd}\nTitle : ${title}\n`,attachment: fs.createReadStream(__dirname + "/cache/toptop.mp4")}, event.threadID, () => fs.unlinkSync(__dirname + "/cache/toptop.mp4"),event.messageID);
|
50
|
+
return request(encodeURI(`${video}`)).pipe(fs.createWriteStream(__dirname+'/cache/toptop.mp4')).on('close',() => callback());
|
51
|
+
}
|
52
|
+
case"2":{
|
53
|
+
var callback = () => api.sendMessage({body:`Song: ${text}`,attachment: fs.createReadStream(__dirname + "/cache/toptop.m4a")}, event.threadID, () => fs.unlinkSync(__dirname + "/cache/toptop.m4a"),event.messageID);
|
54
|
+
return request(encodeURI(`${mp3}`)).pipe(fs.createWriteStream(__dirname+'/cache/toptop.m4a')).on('close',() => callback());
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|