├── .node-persist
├── msgHndlr.js
└── storage
│ └── 4651253a81c216ecf694139dcbb20d02
├── LICENSE
├── README.md
├── botfuzzy.js
├── botnandaz.js
├── chara.txt
├── data_tes_antilink.txt
├── debug
├── if_res.txt
├── igsearch.txt
├── ms.txt
└── toimg.txt
├── fuzzy.data.json
├── google8c714ab7f8dcb901.html
├── index.js
├── lib
├── .brainly.js.swp
├── Insta.js
├── NSFW.json
├── antilink.json
├── ban.js
├── banned.json
├── brainly.js
├── chara
│ ├── 27632122007-1608630746@g.us.json
│ ├── 6281213089927-1607788140@g.us.json
│ ├── 6281311850715-1605290009@g.us.json
│ ├── 6283805191681-1604633071@g.us.json
│ ├── 6285559038021-1603588233@g.us.json
│ ├── 6285559038021-1603688917@g.us.json
│ ├── 6285559038021-1605869468@g.us.json
│ ├── 6285721733043-1609557240@g.us.json
│ └── 6285892766102-1608900013@g.us.json
├── chara_galery
│ ├── 27632122007@c.us.json
│ ├── 6281328917586@c.us.json
│ ├── 6283805191681@c.us.json
│ ├── 6285559038021@c.us.json
│ ├── 6285764112841@c.us.json
│ ├── 62895621590008@c.us.json
│ ├── 6289636035164@c.us.json
│ ├── 628992490269@c.us.json
│ └── 966572592040@c.us.json
├── characounter.json
├── charasession
├── charasession.json
├── chargame.json
├── charlist.json
├── color.js
├── config.json
├── dataadz.json
├── db-sticker.json
├── dmff.js
├── dmff.json
├── fetcher.js
├── freedom.js
├── freedom.json
├── functions.js
├── functions.js.bak
├── giphy.js
├── help.js
├── husbu.json
├── imageProcessing.js
├── index.js
├── kontak_izin.json
├── lib-igeh.js
├── limit.json
├── listadzan.json
├── location.js
├── msgFilter.js
├── msgLimit.json
├── muted.json
├── pengguna.json
├── perizinan.json
├── quotes.json
├── random
│ ├── anime
│ │ ├── husbu.txt
│ │ ├── neko.txt
│ │ ├── random.txt
│ │ └── waifu.txt
│ ├── faktaunix.txt
│ ├── katabijax.txt
│ ├── kpop
│ │ ├── blackpink.txt
│ │ ├── bts.txt
│ │ └── exo.txt
│ ├── pantun.txt
│ └── quran.json
├── repeat.json
├── setting.json
├── sewa_bot.json
├── shortener.js
├── tikel_makel.js
├── tiktod.js
├── translate.js
├── vip.json
├── welcome.js
├── welcome.json
└── ytdl.js
├── media
├── CSstik.png
├── DGC.jpg
├── Freedom.png
├── adzan
│ ├── adzan_bayati.mp3
│ ├── magrib_bdg.jpg
│ └── shubuh_bdg.png
├── aswu-stik.jpeg
├── aswu.jpeg
├── aswu.mp4
├── freedom-qris.jpeg
├── gifstik.mp4
├── img
│ ├── Kaguya.png
│ ├── after.jpg
│ ├── before.jpg
│ ├── dgc.jpg
│ ├── nimek.jpg
│ ├── noBg.png
│ ├── nulez.jpg
│ ├── screenshot.jpeg
│ ├── tes.jpg
│ └── tutod.jpg
├── imgscale.jpeg
├── mp3yt
│ └── mp3nya.mp3
├── nyanyi
│ └── botnyanyi.mp3
├── output-aa.gif
├── output-stik.jpeg
├── output.gif
├── outputne.jpeg
├── saved_stickers
│ ├── Baushsns.jpg
│ ├── DOIAING.jpg
│ ├── Gass yuk.jpg
│ ├── JUST4FUN😎.jpg
│ ├── Kucing 1.jpg
│ ├── Marah.jpg
│ ├── Zikran Tolol.jpg
│ ├── abdillah.jpg
│ ├── bagi dua.jpg
│ ├── bay.jpg
│ ├── bokep.jpg
│ ├── ciw.jpg
│ ├── ciwi ciwi.jpg
│ ├── ehan.jpg
│ ├── gurl.jpg
│ ├── hadeh.jpg
│ ├── hoo.jpg
│ ├── isi cakra.jpg
│ ├── jadi sunda.jpg
│ ├── kamui.jpg
│ ├── kaseglom.jpg
│ ├── kat soak.jpg
│ ├── kat whoah.jpg
│ ├── ko tol.jpg
│ ├── lauk.jpg
│ ├── marea.jpg
│ ├── milik kita.jpg
│ ├── mr beans.jpg
│ ├── mumut.jpg
│ ├── nibba.jpg
│ ├── pacaran ga perlu.jpg
│ ├── packk.jpg
│ ├── pat botol.jpg
│ ├── pat hekel.jpg
│ ├── pat rik.jpg
│ ├── pattt.jpg
│ ├── saddd.jpg
│ ├── salah.jpg
│ ├── so sad.jpg
│ ├── sule.jpg
│ ├── tapi boong.jpg
│ ├── test.jpg
│ ├── thaqq.jpg
│ ├── ucok.jpg
│ ├── uhhh.jpg
│ └── wazowski.jpg
├── screenshot.png
├── sound
│ ├── DGC-Sound.mp3
│ └── Dgc-sound-mut.mp3
├── suit
│ ├── batu.png
│ ├── gunting.png
│ └── kertas.png
├── tahta.png
├── tahta.txt
└── tts
│ ├── nope.txt
│ ├── resAr.mp3
│ ├── resEn.mp3
│ ├── resId.mp3
│ ├── resJp.mp3
│ ├── resRu.mp3
│ └── tts.mp3
├── msgHndlr.js
├── msgHndlr.rar
├── nandaz.data.json
├── newbot.js
├── options.js
├── package.json
├── ramdan.data.json
├── ramdan.js
└── tester.data.json
/.node-persist/storage/4651253a81c216ecf694139dcbb20d02:
--------------------------------------------------------------------------------
1 | {"key":"executablePath","value":"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright [2020] [MhankBarBar]
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
203 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | # DGC-ChatBotV3
19 | >Personal Bot DGC WhatsApp, including unique fiture like group commands downloader and other unique thing thats bot for Whatsapp.
20 |
21 | # Required
22 | - Node 12.19.0
23 | - Npm 6.14.8
24 | - ImageMagick-7.0.10-34-Q16-HDRI Here
25 |
26 | # Installing Step
27 |
28 | ```
29 | git clone https://github.com/MRHRTZ/DGC-ChatBotV3
30 |
31 | cd DGC-ChatBotV3/
32 |
33 | [For linux = sudo apt-get install npm]
34 |
35 | [For Windows = (install manual from https://nodejs.org>)
36 |
37 | npm i
38 |
39 | npm start
40 | ```
41 |
42 | # Bug?
43 | - If find a bugs please contact me on WhatsApp
44 |
--------------------------------------------------------------------------------
/botfuzzy.js:
--------------------------------------------------------------------------------
1 | const wa = require('@open-wa/wa-automate')
2 | const { ev } = require('@open-wa/wa-automate')
3 | const welcome = require('./lib/welcome')
4 | const fs = require('fs-extra')
5 | const welcomeF = require('./lib/freedom')
6 | const color = require('./lib/color')
7 | const welcomeD = require('./lib/dmff')
8 | const moment = require('moment-timezone')
9 | //const msgHandler = require('./msgHndlr')
10 | const options = require('./options')
11 | let setting = JSON.parse(fs.readFileSync('./lib/config.json'));
12 | let {prefix, banChats, restartState: isRestart, mtc: mtcState, whitelist ,sAdmin, limitCount, memberLimit, groupLimit} = setting
13 | const sesi = process.argv[2] ? process.argv[2] : "MRHRTZ"
14 |
15 | moment.tz.setDefault('Asia/Jakarta').locale('id')
16 | const time = moment().format('DD/MM HH:mm:ss')
17 | // Cache handler and check for file change
18 | function INFOLOG(info) {
19 | return console.log('\x1b[1;34m~\x1b[1;37m>>', '[\x1b[1;33mINF\x1b[1;37m]', time, color(info))
20 | }
21 |
22 | function restartAwal(hurtz){
23 | setting.restartState = false
24 | isRestart = false
25 | hurtz.sendText(setting.restartId, '✅ _Restart was Completed!_')
26 | setting.restartId = 'undefined'
27 | fs.writeFileSync('./lib/setting.json', JSON.stringify(setting, null,2));
28 | }
29 |
30 | require('./msgHndlr')
31 | nocache('./msgHndlr', module => INFOLOG(`${module} Telah diupdate!`))
32 |
33 | const start = async (hurtz = new Hurtz()) => {
34 |
35 | if(isRestart){restartAwal(hurtz);}
36 |
37 | console.log('[SERVER] Server Started!')
38 | // Force it to keep the current session
39 | hurtz.onStateChanged(state=>{
40 | // console.log('statechanged', state)
41 | INFOLOG(`Status berubah ${state}`)
42 | if(state==="CONFLICT" || state==="UNLAUNCHED") hurtz.forceRefocus();
43 | })
44 | // cron.schedule('* * * * *', () => {
45 | // const obj = [{id: sAdmin, msg: 1}]
46 | // msgLimit = obj
47 | // fs.writeFileSync('./lib/msgLimit.json', JSON.stringify(obj))
48 | // });
49 |
50 | // listening on message
51 |
52 |
53 | hurtz.onAnyMessage((async (message) => {
54 | hurtz.getAmountOfLoadedMessages()
55 | .then((msg) => {
56 | if (msg >= 500) {
57 | hurtz.cutMsgCache()
58 | }
59 | })
60 | // msgHandler(hurtz, message)
61 | // Message Handler (Loaded from recent cache)
62 | require('./msgHndlr')(hurtz, message)
63 | }))
64 |
65 | hurtz.onGlobalParicipantsChanged((async (xixi) => {
66 | // await welcome(hurtz, xixi)
67 | //left(hurtz, heuh)
68 | if (xixi.action == 'remove' || xixi.action == 'leave') {
69 | hurtz.sendTextWithMentions(chat.id, `Semoga tenang dialam sana @${xixi.who} 😊`)
70 | } else if (xixi.action == 'add') {
71 | hurtz.sendTextWithMentions(chat.id, `Welcome new mem @${xixi.who} :)`)
72 | }
73 | console.log(xixi.action+'ing'+' '+xixi.who)
74 | }))
75 |
76 | hurtz.onAddedToGroup((async (chat) => {
77 | // const whitelist = ["6285216490187-1558621310@g.us","6285559038021-1603688917@g.us"]
78 | // if (sender.id === '6285559038021@c.us') return
79 | // let totalMem = await chat.groupMetadata.participants.length
80 | // if (totalMem < 20) {
81 | // hurtz.sendText(chat.id, `Yaampun member nya cuma ${totalMem}, Kalo mau invite bot, minimal jumlah mem ada 20 atau chat owner!`).then(() => hurtz.leaveGroup(chat.id)).then(() => hurtz.deleteChat(chat.id))
82 | // } else {
83 | // hurtz.sendText(chat.groupMetadata.id, `Halo warga grup *${chat.contact.name}* terimakasih sudah menginvite bot ini, untuk melihat menu silahkan kirim *!menu*`)
84 | // }
85 | // if (!whitelist.include(chat.id)) {
86 | hurtz.sendText(chat.id, `Terimakasih ${chat.contact.name} telah mengundang *DGC ChatBotV3* ☺️\n\nBot ini harus diaktifkan dengan kontak yang diizinkan!\nApabila nomer anda telah terdaftar ketik :\n\n*!aktifkan*\n\nApabila nomer anda tidak terdaftar chat owner (pemilik bot) untuk sewa bot ini wa.me/6285559038021\n\nHave a nice day!`)
87 | // .then(() => hurtz.sendContact(chat.id, '6285559038021@c.us'))
88 | // .then(() => hurtz.leaveGroup(chat.id))
89 | // .then(() => hurtz.deleteChat(chat.id))
90 | // } else {
91 | // hurtz.sendText(chat.id, `Halo semua DGC ChatBot siap melayani semuanya, kecuali klo mati :'D`)
92 | // }
93 | }))
94 |
95 |
96 | /*hurtz.onAck((x => {
97 | const { from, to, ack } = x
98 | if (x !== 3) hurtz.sendSeen(to)
99 | }))*/
100 |
101 | // listening on Incoming Call
102 | hurtz.onIncomingCall(( async (call) => {
103 | await hurtz.sendText(call.peerJid, 'Maaf, saya tidak bisa menerima panggilan. Telah ditetapkan telpon/vc = block')
104 | .then(() => hurtz.contactBlock(call.peerJid))
105 | }))
106 | }
107 |
108 |
109 | /**
110 | * uncache if there is file change
111 | * @param {string} module module name or path
112 | * @param {function} cb when module updated
113 | */
114 | function nocache(module, cb = () => { }) {
115 | console.log('Module', `'${module}'`, 'is now being watched for changes')
116 | require('fs').watchFile(require.resolve(module), async () => {
117 | await uncache(require.resolve(module))
118 | cb(module)
119 | })
120 | }
121 |
122 | /**
123 | * uncache a module
124 | * @param {string} module module name or path
125 | */
126 | function uncache(module = '.') {
127 | return new Promise((resolve, reject) => {
128 | try {
129 | delete require.cache[require.resolve(module)]
130 | resolve()
131 | } catch (e) {
132 | reject(e)
133 | }
134 | })
135 | }
136 |
137 |
138 | wa.create({
139 | sessionId: 'fuzzy',
140 | ...options(false, start)
141 | })
142 | .then(hurtz => start(hurtz))
143 | .catch((error) => console.log(error))
--------------------------------------------------------------------------------
/botnandaz.js:
--------------------------------------------------------------------------------
1 | const wa = require('@open-wa/wa-automate')
2 | const { ev } = require('@open-wa/wa-automate')
3 | const welcome = require('./lib/welcome')
4 | const fs = require('fs-extra')
5 | const welcomeF = require('./lib/freedom')
6 | const color = require('./lib/color')
7 | const welcomeD = require('./lib/dmff')
8 | const moment = require('moment-timezone')
9 | //const msgHandler = require('./msgHndlr')
10 | const options = require('./options')
11 | let setting = JSON.parse(fs.readFileSync('./lib/config.json'));
12 | let {prefix, banChats, restartState: isRestart, mtc: mtcState, whitelist ,sAdmin, limitCount, memberLimit, groupLimit} = setting
13 | const sesi = process.argv[2] ? process.argv[2] : "MRHRTZ"
14 |
15 | moment.tz.setDefault('Asia/Jakarta').locale('id')
16 | const time = moment().format('DD/MM HH:mm:ss')
17 | // Cache handler and check for file change
18 | function INFOLOG(info) {
19 | return console.log('\x1b[1;34m~\x1b[1;37m>>', '[\x1b[1;33mINF\x1b[1;37m]', time, color(info))
20 | }
21 |
22 | function restartAwal(hurtz){
23 | setting.restartState = false
24 | isRestart = false
25 | hurtz.sendText(setting.restartId, '✅ _Reset config Completed!_')
26 | setting.restartId = 'undefined'
27 | fs.writeFileSync('./lib/setting.json', JSON.stringify(setting, null,2));
28 | }
29 |
30 | require('./msgHndlr')
31 | nocache('./msgHndlr', module => INFOLOG(`${module} Telah diupdate!`))
32 |
33 | const start = async (hurtz = new Hurtz()) => {
34 |
35 | if(isRestart){restartAwal(hurtz);}
36 |
37 | console.log('[SERVER] Server Started!')
38 | // Force it to keep the current session
39 | hurtz.onStateChanged(state=>{
40 | // console.log('statechanged', state)
41 | INFOLOG(`Status berubah ${state}`)
42 | if(state==="CONFLICT" || state==="UNLAUNCHED") hurtz.forceRefocus();
43 | })
44 | // cron.schedule('* * * * *', () => {
45 | // const obj = [{id: sAdmin, msg: 1}]
46 | // msgLimit = obj
47 | // fs.writeFileSync('./lib/msgLimit.json', JSON.stringify(obj))
48 | // });
49 |
50 | // listening on message
51 |
52 |
53 | hurtz.onAnyMessage((async (message) => {
54 | hurtz.getAmountOfLoadedMessages()
55 | .then((msg) => {
56 | if (msg >= 500) {
57 | hurtz.cutMsgCache()
58 | }
59 | })
60 | // msgHandler(hurtz, message)
61 | // Message Handler (Loaded from recent cache)
62 | require('./msgHndlr')(hurtz, message)
63 | }))
64 |
65 | hurtz.onGlobalParicipantsChanged((async (xixi) => {
66 | // await welcome(hurtz, xixi)
67 | //left(hurtz, heuh)
68 | if (xixi.action == 'remove' || xixi.action == 'leave') {
69 | hurtz.sendTextWithMentions(chat.id, `Semoga tenang dialam sana @${xixi.who} 😊`)
70 | } else if (xixi.action == 'add') {
71 | hurtz.sendTextWithMentions(chat.id, `Welcome new mem @${xixi.who} :)`)
72 | }
73 | console.log(xixi.action+'ing'+' '+xixi.who)
74 | }))
75 |
76 | hurtz.onAddedToGroup((async (chat) => {
77 | // const whitelist = ["6285216490187-1558621310@g.us","6285559038021-1603688917@g.us"]
78 | // if (sender.id === '6285559038021@c.us') return
79 | // let totalMem = await chat.groupMetadata.participants.length
80 | // if (totalMem < 20) {
81 | // hurtz.sendText(chat.id, `Yaampun member nya cuma ${totalMem}, Kalo mau invite bot, minimal jumlah mem ada 20 atau chat owner!`).then(() => hurtz.leaveGroup(chat.id)).then(() => hurtz.deleteChat(chat.id))
82 | // } else {
83 | // hurtz.sendText(chat.groupMetadata.id, `Halo warga grup *${chat.contact.name}* terimakasih sudah menginvite bot ini, untuk melihat menu silahkan kirim *!menu*`)
84 | // }
85 | // if (!whitelist.include(chat.id)) {
86 | hurtz.sendText(chat.id, `Terimakasih ${chat.contact.name} telah mengundang *DGC ChatBotV3* ☺️\n\nBot ini harus diaktifkan dengan kontak yang diizinkan!\nApabila nomer anda telah terdaftar ketik :\n\n*!aktifkan*\n\nApabila nomer anda tidak terdaftar chat owner (pemilik bot) untuk sewa bot ini wa.me/6285559038021\n\nHave a nice day!`)
87 |
88 | // } else {
89 | // hurtz.sendText(chat.id, `Halo semua DGC ChatBot siap melayani semuanya, kecuali klo mati :'D`)
90 | // }
91 | }))
92 |
93 |
94 | /*hurtz.onAck((x => {
95 | const { from, to, ack } = x
96 | if (x !== 3) hurtz.sendSeen(to)
97 | }))*/
98 |
99 | // listening on Incoming Call
100 | hurtz.onIncomingCall(( async (call) => {
101 | await hurtz.sendText(call.peerJid, 'Maaf, saya tidak bisa menerima panggilan. Telah ditetapkan telpon/vc = block')
102 | .then(() => hurtz.contactBlock(call.peerJid))
103 | }))
104 | }
105 |
106 |
107 | /**
108 | * uncache if there is file change
109 | * @param {string} module module name or path
110 | * @param {function} cb when module updated
111 | */
112 | function nocache(module, cb = () => { }) {
113 | console.log('Module', `'${module}'`, 'is now being watched for changes')
114 | require('fs').watchFile(require.resolve(module), async () => {
115 | await uncache(require.resolve(module))
116 | cb(module)
117 | })
118 | }
119 |
120 | /**
121 | * uncache a module
122 | * @param {string} module module name or path
123 | */
124 | function uncache(module = '.') {
125 | return new Promise((resolve, reject) => {
126 | try {
127 | delete require.cache[require.resolve(module)]
128 | resolve()
129 | } catch (e) {
130 | reject(e)
131 | }
132 | })
133 | }
134 |
135 |
136 | wa.create({
137 | sessionId: 'nandaz',
138 | ...options(false, start)
139 | })
140 | .then(hurtz => start(hurtz))
141 | .catch((error) => console.log(error))
--------------------------------------------------------------------------------
/chara.txt:
--------------------------------------------------------------------------------
1 | async function chara(query) {
2 | return new Promise((resolve, reject) => {
3 | const char = query
4 | Axios.get('https://myanimelist.net/character.php?cat=character&q=' + char)
5 | .then(({ data }) => {
6 | const $ = cheerio.load(data)
7 | const selector = '#content > table > tbody > tr:nth-child(1) > td > a'
8 | const small = $('#content > table > tbody > tr:nth-child(1) > td:nth-child(2) > small').text()
9 | const name = $(selector).text() + ' ' + small
10 | const url = $(selector).attr('href')
11 | selector_mov = '#content > table > tbody > tr:nth-child(1) > td:nth-child(3) > small > a'
12 | let serial = []
13 | $(selector_mov).get().map((res) => {
14 | const name = $(res).text()
15 | const url = 'https://myanimelist.net' + $(res).attr('href')
16 | serial.push({
17 | Anime: name,
18 | url: url
19 | })
20 | })
21 |
22 | Axios.get(url)
23 | .then(({ data }) => {
24 | const $ = cheerio.load(data)
25 | const res_desc = $('#content > table > tbody > tr > td:nth-child(2)').text().split('\n\n\n\n\n\t ')[1].split(' \n \n')[0].replace(')',')\n')
26 | const img = $('#content > table > tbody > tr > td.borderClass > div > a > img').attr('data-src')
27 | const result = {
28 | status: 200,
29 | name: name,
30 | image: img,
31 | full_desc: res_desc,
32 | url: url,
33 | anime: serial
34 | }
35 | resolve(result)
36 | }).catch(reject)
37 | }).catch(e => reject({
38 | status: 404,
39 | message: `Character ${query} was not found!`
40 | }))
41 | })
42 | }
43 |
44 |
45 |
46 | async function charaCheck(query) {
47 | return new Promise((resolve, reject) => {
48 | const char = query
49 | Axios.get('https://myanimelist.net/character.php?cat=character&q=' + char)
50 | .then(({ data }) => {
51 | const $ = cheerio.load(data)
52 | const selector = '#content > table > tbody > tr:nth-child(1) > td > a'
53 | const small = $('#content > table > tbody > tr:nth-child(1) > td:nth-child(2) > small').text()
54 | const name = $(selector).text() + ' ' + small
55 | const url = $(selector).attr('href')
56 | resolve({
57 | status: 200,
58 | name: name,
59 | message: `Found chara ${name} and added to database!`
60 | })
61 |
62 | }).catch(e => reject({
63 | status: 404,
64 | message: `Character ${query} was not found!`
65 | }))
66 | })
67 | }
68 |
69 |
70 |
71 | let charlist = JSON.parse(fs.readFileSync('./lib/charlist.json'))
72 |
73 |
74 |
75 |
76 | //put down here on case
77 |
78 |
79 | case switch_pref+'charalist':
80 | case switch_pref+'charlist':
81 | if (!isGroupMsg) return hurtz.reply(from, menuPriv, id)
82 | let outlistchar = `*Listing character on the database*\n\n`
83 | for (var i = 0; i < charlist.length; i++) {
84 | outlistchar += `➣ ${charlist[i].full_name}\n`
85 | }
86 | hurtz.reply(from, outlistchar, id)
87 | break
88 |
89 | case switch_pref+'addchara':
90 | if (!isGroupMsg) return hurtz.reply(from, menuPriv, id)
91 | if (args.length === 1) return hurtz.reply(from, `Please add chara query!\nex : *!addchara naruto*`, id)
92 | const qChar = body.slice(10)
93 | await charaCheck(qChar)
94 | .then((ress) => {
95 | let isCharaAva = ''
96 | for (var i = 0; i < charlist.length; i++) {
97 | if (charlist[i].full_name == ress.name) {
98 | isCharaAva += 'true'
99 | } else {
100 | isCharaAva += 'false'
101 | }
102 | }
103 | console.log(isCharaAva)
104 | if (isCharaAva == 'true') {
105 | hurtz.reply(from, `Sorry chara ${qChar} has been added to database!`, id)
106 | } else {
107 | charlist.push({
108 | full_name: ress.name,
109 | keyword: qChar
110 | })
111 | fs.writeFileSync('./lib/charlist.json', JSON.stringify(charlist, null, 2))
112 | hurtz.reply(from, ress.message, id)
113 | }
114 | })
115 | .catch(e => {
116 | hurtz.reply(from, e.message, id)
117 | })
118 | break
119 |
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/data_tes_antilink.txt:
--------------------------------------------------------------------------------
1 | const isLinks3 = isGroupMsg ? link_.includes(chat.id) : false
2 | if (body.match("https://chat.whatsapp.com")){
3 | if (isLinks3) {
4 | console.log('DETECT!')
5 | if (!isGroupMsg) return hurtz.reply(dari, `*[ ! ]* Anti promosi hanya untuk grup`,id)
6 | hurtz.reply(dari,`*[ANTI LINK]*Halo bos *${pushname}*
7 | ngeshare link gc lu jngn disini anjeng konsekuensinya??
8 |
9 | kick & banned permanen.. muehehe :v`,id)
10 |
11 | if (!isBotGroupAdmins) return hurtz.reply(dari, `*[ ! ]* Fitur kick member di anti link gc dapat bekerja jika bot menjadi admin!`,id) // bot no admin
12 |
13 | if (isOwner) {
14 | hurtz.reply(dari, `*[ ! ]* Bot tidak dapat kick pengurus bot!!`,id) // no kick owner bot
15 | } else if (isGroupAdmins) {
16 | hurtz.reply(dari, `*[ ! ]* Bot tidak dapat kick pengurus grup!!`,id) // no kick owner bot
17 | hurtz.reply(dari, util.format(isGroupAdmins), id)
18 | } else {
19 | await hurtz.reply(dari, `boom terkeluarkan!`, id)
20 | }
21 | } else {
22 | console.log('Undetect')
23 | hurtz.sendText(dari, `Ga dinyalain fiturnya gan :v`)
24 | // await hurtz.removeParticipant(groupId, `${sender.id}`)
25 | }
26 | }
--------------------------------------------------------------------------------
/debug/if_res.txt:
--------------------------------------------------------------------------------
1 | const badword = ["anjing","goblok","ngentod","bangsat"]
2 | if (args[0] == "Assalamualaikum" || args[0] == "Assalamu'alaikum" || args[0] == "Samlikum" || args[0] == "Samlekom"){
3 | return hurtz.reply(dari, "Wa'alaikumsalam warahmatullahi wabarokatuh", id)
4 | } else if (badword.includes(args[0].toLowerCase())){
5 | if (!isGroupAdmins) {
6 | return hurtz.reply(dari, "WOYY JANGAN TOXIC MEMBER BANGSAT SETAN!", id)
7 | .then(() => hurtz.removeParticipant(groupId, sender.id))
8 | .then(() => {
9 | hurtz.sendText(dari, `Awokawoka mampuss terwisuda🐦`)
10 | }).catch(() => hurtz.sendText(dari, `Untung bot bukan admin kalo ngga udah terkick tuh >:(`))
11 | } else {
12 | return hurtz.reply(dari, "Mohon jaga ucapannya ya mimin:)", id)
13 | }
14 | }
15 | if (isBlo
--------------------------------------------------------------------------------
/debug/ms.txt:
--------------------------------------------------------------------------------
1 | https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/7dd7c181-5eef-4a81-9c29-7ac407165f78/dcrogop-9a2388e9-ad58-4a1d-9f05-43458593d880.jpg/v1/fill/w_1600,h_2028,q_75,strp/eto_yoshimura_showing_her_feet__color__by_kandenrem_dcrogop-fullview.jpg?token\\u003deyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOiIsImlzcyI6InVybjphcHA6Iiwib2JqIjpbW3siaGVpZ2h0IjoiPD0yMDI4IiwicGF0aCI6IlwvZlwvN2RkN2MxODEtNWVlZi00YTgxLTljMjktN2FjNDA3MTY1Zjc4XC9kY3JvZ29wLTlhMjM4OGU5LWFkNTgtNGExZC05ZjA1LTQzNDU4NTkzZDg4MC5qcGciLCJ3aWR0aCI6Ijw9MTYwMCJ9XV0sImF1ZCI6WyJ1cm46c2VydmljZTppbWFnZS5vcGVyYXRpb25zIl19.daIkFo1W1y7NlmUY024DU5hHnYeUP8WNPTXva7vQ0g8
--------------------------------------------------------------------------------
/debug/toimg.txt:
--------------------------------------------------------------------------------
1 | const pepes = await fs.readFileSync('./media/DGC.jpg', { encoding: "base64" })
2 | await hurtz.setProfilePic(`data:image/jpg;base64,${pepes.toString('base64')}`)
3 |
--------------------------------------------------------------------------------
/fuzzy.data.json:
--------------------------------------------------------------------------------
1 | eyJXQUJyb3dzZXJJZCI6IlwidDU0d21kYU9Rb0E4WnlFQkp5WUxZZz09XCIiLCJXQVNlY3JldEJ1bmRsZSI6IntcImtleVwiOlwiZ3ViZmdERFdzNUxtMEVnRnhKdE5KNld2Q3MvRm9CQmxPanFKeTR6ZjJkaz1cIixcImVuY0tleVwiOlwiK2draGFLOWhsaVd2TTJpTEs0bXhiOThKQXM5STF3bVJUWlBKaDl0KzhXaz1cIixcIm1hY0tleVwiOlwiZ3ViZmdERFdzNUxtMEVnRnhKdE5KNld2Q3MvRm9CQmxPanFKeTR6ZjJkaz1cIn0iLCJXQVRva2VuMSI6IlwiQXdYY2QyZjZBMi93eE9pRC8yU1FXN2RDemFBcVdDQS84ZHRXSHhlSEdnVT1cIiIsIldBVG9rZW4yIjoiXCIxQG9DWGp2cEZ5Qi9kalA4MEhlMld2aTZUb2Jzd1VOQklrTHFuM1Y4aGhQMFU1UndtWXJmM1RzTWkxaHJHVnljQ3NSbC90bEtoQkdlZTJoZz09XCIifQ==
--------------------------------------------------------------------------------
/google8c714ab7f8dcb901.html:
--------------------------------------------------------------------------------
1 | google-site-verification: google8c714ab7f8dcb901.html
2 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const wa = require('@open-wa/wa-automate')
2 | const { ev } = require('@open-wa/wa-automate')
3 | const welcome = require('./lib/welcome')
4 | const fs = require('fs-extra')
5 | const welcomeF = require('./lib/freedom')
6 | const color = require('./lib/color')
7 | const welcomeD = require('./lib/dmff')
8 | const moment = require('moment-timezone')
9 | //const msgHandler = require('./msgHndlr')
10 | const options = require('./options')
11 | let setting = JSON.parse(fs.readFileSync('./lib/config.json'));
12 | let {prefix, banChats, restartState: isRestart, mtc: mtcState, whitelist ,sAdmin, limitCount, memberLimit, groupLimit} = setting
13 | const sesi = process.argv[2] ? process.argv[2] : "MRHRTZ"
14 |
15 | moment.tz.setDefault('Asia/Jakarta').locale('id')
16 | const time = moment().format('DD/MM HH:mm:ss')
17 | // Cache handler and check for file change
18 | function INFOLOG(info) {
19 | return console.log('\x1b[1;34m~\x1b[1;37m>>', '[\x1b[1;33mINF\x1b[1;37m]', time, color(info))
20 | }
21 |
22 | function restartAwal(hurtz){
23 | setting.restartState = false
24 | isRestart = false
25 | hurtz.sendText(setting.restartId, '✅ _Restart was Completed!_')
26 | setting.restartId = 'undefined'
27 | fs.writeFileSync('./lib/setting.json', JSON.stringify(setting, null,2));
28 | }
29 |
30 | require('./msgHndlr')
31 | nocache('./msgHndlr', module => INFOLOG(`${module} Telah diupdate!`))
32 |
33 | const start = async (hurtz = new Hurtz()) => {
34 |
35 | if(isRestart){restartAwal(hurtz);}
36 |
37 | console.log('[SERVER] Server Started!')
38 | // Force it to keep the current session
39 | hurtz.onStateChanged(state=>{
40 | // console.log('statechanged', state)
41 | INFOLOG(`Status berubah ${state}`)
42 | if(state==="CONFLICT" || state==="UNLAUNCHED") hurtz.forceRefocus();
43 | })
44 | // cron.schedule('* * * * *', () => {
45 | // const obj = [{id: sAdmin, msg: 1}]
46 | // msgLimit = obj
47 | // fs.writeFileSync('./lib/msgLimit.json', JSON.stringify(obj))
48 | // });
49 |
50 | // listening on message
51 |
52 |
53 | hurtz.onMessage((async (message) => {
54 | hurtz.getAmountOfLoadedMessages()
55 | .then((msg) => {
56 | if (msg >= 500) {
57 | hurtz.cutMsgCache()
58 | }
59 | })
60 | // msgHandler(hurtz, message)
61 | // Message Handler (Loaded from recent cache)
62 | require('./msgHndlr')(hurtz, message)
63 | }))
64 |
65 | hurtz.onGlobalParicipantsChanged((async (xixi) => {
66 | // await welcome(hurtz, xixi)
67 | //left(hurtz, heuh)
68 | if (xixi.action == 'remove' || xixi.action == 'leave') {
69 | hurtz.sendTextWithMentions(chat.id, `Semoga tenang dialam sana @${xixi.who} 😊`)
70 | } else if (xixi.action == 'add') {
71 | hurtz.sendTextWithMentions(chat.id, `Welcome new mem @${xixi.who} :)`)
72 | }
73 | console.log(xixi.action+'ing'+' '+xixi.who)
74 | }))
75 |
76 | hurtz.onAddedToGroup((async (chat) => {
77 | // const whitelist = ["6285216490187-1558621310@g.us","6285559038021-1603688917@g.us"]
78 | // if (sender.id === '6285559038021@c.us') return
79 | // let totalMem = await chat.groupMetadata.participants.length
80 | // if (totalMem < 20) {
81 | // hurtz.sendText(chat.id, `Yaampun member nya cuma ${totalMem}, Kalo mau invite bot, minimal jumlah mem ada 20 atau chat owner!`).then(() => hurtz.leaveGroup(chat.id)).then(() => hurtz.deleteChat(chat.id))
82 | // } else {
83 | // hurtz.sendText(chat.groupMetadata.id, `Halo warga grup *${chat.contact.name}* terimakasih sudah menginvite bot ini, untuk melihat menu silahkan kirim *!menu*`)
84 | // }
85 | // if (!whitelist.include(chat.id)) {
86 | hurtz.sendText(chat.id, `Terimakasih ${chat.contact.name} telah mengundang *DGC ChatBotV3* ☺️\n\nBot ini harus diaktifkan dengan kontak yang diizinkan!\nApabila nomer anda telah terdaftar ketik :\n\n*!aktifkan*\n\nApabila nomer anda tidak terdaftar chat owner (pemilik bot) untuk sewa bot ini wa.me/6285559038021\n\nHave a nice day!`)
87 | // .then(() => hurtz.sendContact(chat.id, '6285559038021@c.us'))
88 | // .then(() => hurtz.leaveGroup(chat.id))
89 | // .then(() => hurtz.deleteChat(chat.id))
90 | // } else {
91 | // hurtz.sendText(chat.id, `Halo semua DGC ChatBot siap melayani semuanya, kecuali klo mati :'D`)
92 | // }
93 | }))
94 |
95 |
96 | /*hurtz.onAck((x => {
97 | const { from, to, ack } = x
98 | if (x !== 3) hurtz.sendSeen(to)
99 | }))*/
100 |
101 | // listening on Incoming Call
102 | hurtz.onIncomingCall(( async (call) => {
103 | await hurtz.sendText(call.peerJid, 'Maaf, saya tidak bisa menerima panggilan. Telah ditetapkan telpon/vc = block')
104 | .then(() => hurtz.contactBlock(call.peerJid))
105 | }))
106 | }
107 |
108 |
109 | /**
110 | * uncache if there is file change
111 | * @param {string} module module name or path
112 | * @param {function} cb when module updated
113 | */
114 | function nocache(module, cb = () => { }) {
115 | console.log('Module', `'${module}'`, 'is now being watched for changes')
116 | require('fs').watchFile(require.resolve(module), async () => {
117 | await uncache(require.resolve(module))
118 | cb(module)
119 | })
120 | }
121 |
122 | /**
123 | * uncache a module
124 | * @param {string} module module name or path
125 | */
126 | function uncache(module = '.') {
127 | return new Promise((resolve, reject) => {
128 | try {
129 | delete require.cache[require.resolve(module)]
130 | resolve()
131 | } catch (e) {
132 | reject(e)
133 | }
134 | })
135 | }
136 |
137 |
138 | wa.create({
139 | sessionId: sesi,
140 | ...options(false, start)
141 | })
142 | .then(hurtz => start(hurtz))
143 | .catch((error) => console.log(error))
--------------------------------------------------------------------------------
/lib/.brainly.js.swp:
--------------------------------------------------------------------------------
1 | b0nano 3.2 W| root localhost /root/whatsapp-bot/lib/brainly.js U
--------------------------------------------------------------------------------
/lib/Insta.js:
--------------------------------------------------------------------------------
1 | const { default: Axios } = require('axios');
2 | const sesid = '8008647406%3AZOMAWiE1WXFMS0%3A27'
3 |
4 | function getUser(username) {
5 | return new Promise((resolve, reject) => {
6 | try {
7 | Axios.get('https://www.instagram.com/' + username + '/?__a=1', {
8 | headers: {
9 | Cookie: `sessionid=${sesid}`
10 | }
11 | }).then(({ data }) => {
12 | const user = data.graphql.user
13 | // console.log(data)
14 | // console.log(user.biography)
15 | resolve({
16 | // link: URL.replace('/?__a=1', ''),
17 | id: user.id,
18 | biography: user.biography,
19 | subscribersCount: user.edge_followed_by.count,
20 | subscribtions: user.edge_follow.count,
21 | fullName: user.full_name,
22 | highlightCount: user.highlight_reel_count,
23 | isBusinessAccount: user.is_business_account,
24 | isRecentUser: user.is_joined_recently,
25 | accountCategory: user.business_category_name,
26 | linkedFacebookPage: user.connected_fb_page,
27 | isPrivate: user.is_private,
28 | isVerified: user.is_verified,
29 | profilePic: user.profile_pic_url,
30 | profilePicHD: user.profile_pic_url_hd,
31 | username: user.username,
32 | postsCount: user.edge_owner_to_timeline_media.count,
33 | posts: user.edge_owner_to_timeline_media.edges.map(edge => {
34 | let hasCaption = edge.node.edge_media_to_caption.edges[0];
35 | return {
36 | id: edge.node.id,
37 | shortCode: edge.node.shortcode,
38 | url: `https://www.instagram.com/p/${edge.node.shortcode}/`,
39 | dimensions: edge.node.dimensions,
40 | imageUrl: edge.node.display_url,
41 | isVideo: edge.node.is_video,
42 | caption: hasCaption ? hasCaption.node.text : '',
43 | commentsCount: edge.node.edge_media_to_comment.count,
44 | commentsDisabled: edge.node.comments_disabled,
45 | timestamp: edge.node.taken_at_timestamp,
46 | likesCount: edge.node.edge_liked_by.count,
47 | location: edge.node.location,
48 | children: edge.node.edge_sidecar_to_children ? edge.node.edge_sidecar_to_children.edges.map(edge => {
49 | return {
50 | id: edge.node.id,
51 | shortCode: edge.node.shortcode,
52 | dimensions: edge.node.dimensions,
53 | imageUrl: edge.node.display_url,
54 | isVideo: edge.node.is_video,
55 | }
56 | }) : []
57 | }
58 | }) || []
59 | });
60 | })
61 | } catch (e) {
62 | console.log(e)
63 | }
64 | })
65 | }
66 |
67 |
68 |
69 |
70 | function getPost(code) {
71 | return new Promise(function (resolve, reject) {
72 | if (!code) return reject(new Error('Argument "code" must be specified'));
73 |
74 | Axios.get('https://www.instagram.com/p/' + code + '/?__a=1', {
75 | headers: {
76 | Cookie: `sessionid=${sesid}`
77 | }
78 | }).then(({ data }) => {
79 | const post = data.graphql.shortcode_media
80 | isVid = post.is_video ? post.video_url : post.display_url
81 | resolve({
82 | media_id: post.id,
83 | shortcode: post.shortcode,
84 | text: post.accessibility_caption,
85 | capt: post.edge_media_to_caption.edges[0].node.text,
86 | url: isVid,
87 | owner_user: post.owner.username,
88 | date: post.taken_at_timestamp,
89 | })
90 | });
91 | });
92 | }
93 |
94 | function searchUser(query) {
95 | return new Promise((resolve, reject) => {
96 | Axios.get('https://www.instagram.com/web/search/topsearch/?query=' + query , {
97 | headers: {
98 | Cookie: `sessionid=${sesid}`
99 | }
100 | }).then(({ data }) => {
101 | const all = data.users
102 | const result = []
103 | for (let i = 0; i < all.length; i++) {
104 | result.push({
105 | number: all[i].position + 1,
106 | pk_id: all[i].user.pk,
107 | username: all[i].user.username,
108 | name: all[i].user.full_name,
109 | latest_reel: all[i].user.latest_reel_media,
110 | is_private: all[i].user.is_private,
111 | is_verified: all[i].user.is_verified,
112 | pic: all[i].user.profile_pic_url
113 | })
114 | }
115 | resolve(result)
116 | }).catch(reject)
117 | })
118 | }
119 |
120 | module.exports.getUser = getUser
121 | module.exports.getPost = getPost
122 | module.exports.searchUser = searchUser
--------------------------------------------------------------------------------
/lib/NSFW.json:
--------------------------------------------------------------------------------
1 | ["6285559038021-1597279408@g.us","6285559038021-1603688917@g.us","966572592040-1605936318@g.us","6281311850715-1605290009@g.us","6281311850715-1605290009@g.us","6281311850715-1605290009@g.us","6281311850715-1605290009@g.us","6281311850715-1605290009@g.us"]
--------------------------------------------------------------------------------
/lib/antilink.json:
--------------------------------------------------------------------------------
1 | [
2 | "27731052724-1606073820@g.us",
3 | "6285796782622-1599401714@g.us",
4 | "6285340137116-1604642870@g.us",
5 | "6281288606414-1602045119@g.us",
6 | "18092566068-1607055744@g.us",
7 | "6289523258649-1604595598@g.us",
8 | "6288233282599-1601304366@g.us",
9 | "6288238221335-1599454500@g.us",
10 | "6289523731135-1607173666@g.us",
11 | "6285559038021-1603588233@g.us",
12 | "966572592040-1607332739@g.us",
13 | "6285382455124-1603093165@g.us",
14 | "6282164942592-1593576164@g.us",
15 | "6281339263184-1602325813@g.us",
16 | "6288279620103-1585830877@g.us",
17 | "27632122007-1608630746@g.us",
18 | "27798047077-1596577393@g.us",
19 | "6281584142535-1599968792@g.us",
20 | "447393449331-1606402794@g.us",
21 | "27727649602-1597074742@g.us",
22 | "6289502799316-1605194459@g.us",
23 | "6285559038021-1605869468@g.us",
24 | "6289628310364-1591412063@g.us",
25 | "6281776952371-1588857268@g.us",
26 | "6288258030557-1597672927@g.us",
27 | "6287723637392-1608550210@g.us",
28 | "6283142321131-1609239189@g.us",
29 | "6289652018855-1608729648@g.us",
30 | "919025374268-1606401934@g.us",
31 | "6285156902925-1594041349@g.us",
32 | "6285860637879-1606305531@g.us",
33 | "6283805191681-1604633071@g.us",
34 | "6288295863159-1604820077@g.us",
35 | "6285721733043-1609557240@g.us"
36 | ]
--------------------------------------------------------------------------------
/lib/ban.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs-extra')
2 |
3 | exports.ban = async function (message) {
4 | numBan = message.body.substring(message.body.indexOf('@') + 1)
5 | fs.appendFileSync('./lib/ban.txt', `${message.from} ${numBan}@c.us\n`)
6 | console.log(numBan)
7 | }
8 |
9 | exports.unban = async function (message) {
10 | numUnBan = message.body.substring(message.body.indexOf('@') + 1)
11 | fs.readFile('./lib/ban.txt', { encoding: 'utf-8'}, function (err, data) {
12 | if (err) throw err
13 |
14 | let dataArray = data.split('\n')
15 | const key = `${message.from} ${numUnBan}@c.us`
16 | let lastI = -1
17 |
18 | for (let i = 0; i < dataArray.length; i++) {
19 | if (dataArray[i].includes(key)) {
20 | lastI = i
21 | break
22 | }
23 | }
24 | dataArray.splice(lastI, 1)
25 | const dataUpdate = dataArray.join('\n')
26 | fs.writeFile('./lib/ban.txt', dataUpdate, function(err) {
27 | if (err) throw err
28 | })
29 | })
30 | }
--------------------------------------------------------------------------------
/lib/banned.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/lib/brainly.js:
--------------------------------------------------------------------------------
1 | const brainly = require('brainly-scraper-v2')
2 |
3 | function BrainlySearch(pertanyaan, jumlah, lang, cb) {
4 | return new Promise((resolve, reject) => {
5 | brainly(pertanyaan.toString(),Number(jumlah),lang.toString()).then((res) => {
6 | let brainlyResult = []
7 | res.data.forEach((ask) => {
8 | let opt = {
9 | pertanyaan: ask.pertanyaan,
10 | fotoPertanyaan: ask.questionMedia
11 | }
12 | ask.jawaban.forEach(answer => {
13 | opt.jawaban = {
14 | judulJawaban: answer.text,
15 | fotoJawaban: answer.media
16 | }
17 | })
18 | brainlyResult.push(opt)
19 | resolve(brainlyResult)
20 | })
21 | }).catch(err => {
22 | console.log(err.error)
23 | reject(err)
24 | })
25 | })
26 | }
27 |
28 | module.exports.BrainlySearch = BrainlySearch
--------------------------------------------------------------------------------
/lib/chara/27632122007-1608630746@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Emil ",
9 | "image": [
10 | "https://cdn.myanimelist.net/images/characters/14/346687.jpg"
11 | ],
12 | "full_desc": "Emil (エミール)\nA mysterious creature emerged from inside of a machine lifeform and set up a shop afer obtaining a new body. While he calls himself Emil, his true identity is a mystery. He harbors latent magical power, but most of his memory is gone due to the long years that have passed.\n\n(Source: Nier Wiki)",
13 | "url": "https://myanimelist.net/character/157534/Emil",
14 | "anime": [],
15 | "manga": [
16 | {
17 | "name": "NieR:Automata",
18 | "url": "https://myanimelist.net/manga/108495/NieR_Automata"
19 | }
20 | ]
21 | },
22 | "chara_name": "Emil",
23 | "groupId": "27632122007-1608630746@g.us",
24 | "msgID": [
25 | "false_27632122007-1608630746@g.us_3A020BAD0E4564D1D7B5",
26 | "false_27632122007-1608630746@g.us_3AA4A14557F8B92A4FCD",
27 | "false_27632122007-1608630746@g.us_DD63BF176E4E8F8649D93B9AFDCB62AF",
28 | "false_27632122007-1608630746@g.us_3A505E9DBEC8FE48DA0C",
29 | "false_27632122007-1608630746@g.us_098B2BA4AA8B25F20A69380BB130972F",
30 | "false_27632122007-1608630746@g.us_3AE8E9A156B25EC9A4A0"
31 | ],
32 | "messages": [
33 | "!play tiktok by mabel",
34 | "!play mood swings by mabel",
35 | "Thanks",
36 | "!vidoe dior",
37 | "http://telekom.com.global.prod.fastly.net/le.php?sponsore=&dir=/YIteWJ/x1.php?profileid=780036858&payment?f=PPqCYm",
38 | "!limit"
39 | ]
40 | }
--------------------------------------------------------------------------------
/lib/chara/6281311850715-1605290009@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Toothy Boy ",
9 | "image": [
10 | "https://mrhrtz-wabot.000webhostapp.com/cooltext372748737425114.png"
11 | ],
12 | "full_desc": "Toothy Boy (こぼれるようなの少年)\nThe main character and victim from the bullies.",
13 | "url": "https://myanimelist.net/character/167436/Toothy_Boy",
14 | "anime": [
15 | {
16 | "Anime": "Nido to Mezamenu Komori Uta",
17 | "url": "https://myanimelist.net/anime/7273/Nido_to_Mezamenu_Komori_Uta"
18 | }
19 | ],
20 | "manga": []
21 | },
22 | "chara_name": "toothy",
23 | "groupId": "6281311850715-1605290009@g.us",
24 | "msgID": [
25 | "false_6281311850715-1605290009@g.us_M4VYKLVG3DDPRRSLPPX9",
26 | "false_6281311850715-1605290009@g.us_ABWMCB95KY6KLFK9AWIQ",
27 | "false_6281311850715-1605290009@g.us_C6X4YEJ6DJEAGNAJTPES",
28 | "false_6281311850715-1605290009@g.us_2EEC11B6E4631DF7DE4E2AB3E73472F5",
29 | "false_6281311850715-1605290009@g.us_ETTS0Z0AHM7DKQVYHGRL",
30 | "false_6281311850715-1605290009@g.us_788F7C07C4D99B4F28FD9B195ABFF236",
31 | "false_6281311850715-1605290009@g.us_LRTS2M1SG1DOAPGNCM5Z"
32 | ],
33 | "messages": [
34 | "Selamat Tinggal @966572592040 👋",
35 | "Maaf jonaz, Command *#googleimg* tidak di mengerti bot",
36 | "Maaf jonaz, Command *#trapcard* tidak di mengerti bot",
37 | "!tts ar هاي",
38 | "Hai ؏ــاصوفء الششـبحء🏴☠️📌. sayangnya.. bot tidak mengerti perintah !tts, mohon ketik *#menu*\n\nDan ketik *#limit* untuk cek sisa limit request anda",
39 | "!tts ar يديوث يا بنيك لك امك يديوث يا زنوه بشخط اهلك واحد ورا الثاني يا يديوث بنيك لك امك يديوث يا كسمك ع كسختك بنيك لك اختك كسمك ع كسختك يديوث يا يمهان يرخيص بسفر امك ع بيت الدعاره ديوث بهين لك امك يا شرايك يديوث اسمع بنيك لك امك لا خلاص بمسك اختك ولا يا اقولك امك احلا لا خلاص يا بشخل اختك الصغيره شخل اعنفها تعنيف من كسها يولد بقرص كسها",
40 | "Hai ؏ــاصوفء الششـبحء🏴☠️📌. sayangnya.. bot tidak mengerti perintah !tts, mohon ketik *#menu*\n\nDan ketik *#limit* untuk cek sisa limit request anda"
41 | ]
42 | }
--------------------------------------------------------------------------------
/lib/chara/6283805191681-1604633071@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "unactive",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Tornado, Panavia ",
9 | "image": [
10 | "https://cdn.myanimelist.net/images/characters/11/74608.jpg"
11 | ],
12 | "full_desc": "Panavia Tornado (パナビア・トーネード)\nOVA & manga character.",
13 | "url": "https://myanimelist.net/character/28952/Panavia_Tornado",
14 | "anime": [
15 | {
16 | "Anime": "Aoi Umi no Tristia",
17 | "url": "https://myanimelist.net/anime/1586/Aoi_Umi_no_Tristia"
18 | }
19 | ],
20 | "manga": []
21 | },
22 | "chara_name": "tornado",
23 | "groupId": "6283805191681-1604633071@g.us",
24 | "msgID": [
25 | "false_6283805191681-1604633071@g.us_579652ED2112BE21425D74AA94D66503",
26 | "false_6283805191681-1604633071@g.us_67621FA41175EA09F42F89BE93E8ECE7",
27 | "false_6283805191681-1604633071@g.us_24ADBEAABA165EF77B3639475702EB44"
28 | ],
29 | "messages": [
30 | "Bukan",
31 | "Itu veda",
32 | "!charagame disable"
33 | ]
34 | }
--------------------------------------------------------------------------------
/lib/chara/6285559038021-1603588233@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "unactive",
3 | "anime_result": {
4 | "status": 200,
5 | "name": "SF-A2 miki (Mikina Freesis, Mickina Olliba)",
6 | "image": "https://cdn.myanimelist.net/images/characters/7/225565.jpg",
7 | "full_desc": "SF-A2 miki (SF-A2 開発コード miki)\nSF-A2 codename miki, is a Japanese VOCALOID developed and distributed by AH-Software Co. Ltd., and was released in December 2009 for the VOCALOID2 engine. Her voice is provided by the Japanese female singer, Miki Furukawa.\n\n\nAlternative names/personalities:\nAku no Musume: Mikina Freesis (ミキナ=フリージス)\nVenomania-kou no Kyouki: Mickina Olliba",
8 | "url": "https://myanimelist.net/character/94963/SF-A2_miki",
9 | "anime": [],
10 | "manga": [
11 | {
12 | "name": "Aku no Taizai: Venomania-kou no KyoukiAku no Musume",
13 | "url": "https://myanimelist.net/manga/61877/Aku_no_Taizai__Venomania-kou_no_Kyouki"
14 | }
15 | ]
16 | },
17 | "chara_name": "miki",
18 | "groupId": "6285559038021-1603588233@g.us",
19 | "msgID": [
20 | "false_6285559038021-1603588233@g.us_964E641629FB4E6E2807C0E0A0D9815C",
21 | "false_6285559038021-1603588233@g.us_B8D08603BC5AEDB120B9965AF3423389",
22 | "false_6285559038021-1603588233@g.us_5F241C7833E5320CB58F6250E0094440",
23 | "false_6285559038021-1603588233@g.us_8ACF8ED6B121D8D46BB32812EF0F3D9F",
24 | "false_6285559038021-1603588233@g.us_95FF87F54DBC14C6A2BD29AF04B0D591",
25 | "false_6285559038021-1603588233@g.us_5FD71C57D829146DBF14F65718EA48D6",
26 | "false_6285559038021-1603588233@g.us_F7F2905FB6FADAA62526C176075488A6",
27 | "false_6285559038021-1603588233@g.us_E08C69ACAC54F49DB62CF0ECF1F3FB68",
28 | "false_6285559038021-1603588233@g.us_BEAA4BB5A1B5C557D92B762DE9A39DF9",
29 | "false_6285559038021-1603588233@g.us_66CC39943353BBA23336D5711455931B",
30 | "false_6285559038021-1603588233@g.us_8810D7795E0C9A9B6B4FEDF6A1463B6A",
31 | "false_6285559038021-1603588233@g.us_63874DDAEDB197F7D0FEB8AF2A1B2734",
32 | "false_6285559038021-1603588233@g.us_B903FE43C82F500530D33C05E43674D4",
33 | "false_6285559038021-1603588233@g.us_AE229DF6A9A1A46C8EAACBEED8673520"
34 | ],
35 | "messages": [
36 | "11",
37 | "12",
38 | "siapa ini ler",
39 | "Cara tebaknya claim",
40 | "Wait gw liat console dlu :v",
41 | "ini doraemon",
42 | "!claim doraemon",
43 | "Coba miki",
44 | "Tulis claim",
45 | "Kek gini",
46 | "!claim miki",
47 | "!gallery",
48 | "!gallery @6289636035164",
49 | "!charagame disable"
50 | ]
51 | }
--------------------------------------------------------------------------------
/lib/chara/6285559038021-1603688917@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "unactive",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Nara, Shikamaru (Shadow Boy)",
9 | "image": [
10 | "https://cdn.myanimelist.net/images/characters/3/131315.jpg"
11 | ],
12 | "full_desc": "Shikamaru Nara (奈良 シカマル)\nAge: 12 (I); 15 (II)\nBirthday: September 22\nHoroscope: Virgo\nBlood Type: AB\nHeight: 170 cm\nWeight: 53.4 kg\nRank: Genin (I); Chuunin (II)\nLikes: taking naps, playing shogi\nDislikes: Hard-boiled eggs\n\nShikamaru is an extremely unenthusiastic person, and as such lives his life avoiding work. This is partly due to him seeking paths of least resistance, as he often chooses to do things he would otherwise not do if people nag him enough. In his free time he typically takes naps, watches clouds, and plays strategy games such as Shogi and Go. When put into a situation where he potentially needs to put effort into something, he attempts to try to find a way to avoid it such as forfeiting a battle or by pretending to be preoccupied with something else. In the instances where he can not avoid these situations, Shikamaru tends to remark \"how troublesome.\"\n\nDespite his lazy tendencies, Shikamaru is extremely intelligent. His teacher, Asuma, found Shikamaru to have an IQ of over 200, and learned that Shikamaru's poor grades were a result of him finding lifting a pencil to be too much work for him. Nevertheless, Shikamaru works very well with his teammates, as their fathers were teamed together in their youth. Of his teammates, Shikamaru is closest with Chouji, who repays Shikamaru's confidence in him with unyielding loyalty. Shikamaru also has a strong bond with Asuma, often spending time with him playing strategy games. After Asuma's death, he even vows to protect Asuma and Kurenai's unborn child for his teacher's sake. Shikamaru has stated that he will make the child his apprentice someday.\n\nOne of Shikamaru's more distinctive characteristics is that he finds all women to be bossy and \"a pain.\" Contrary to this opinion, he has expressed a notably mature interest in marriage and raising a family with a son and daughter. Ironically, Shikamaru seems to constantly find himself surrounded by the very same strong-willed and bossy women he dislikes. In addition to his own mother, and being surrounded by bossy females, he usually ends up fighting against such women. Shikamaru has had a number of his appearances coincide with those of Temari. When they make their Part II debut together, Naruto Uzumaki asks if they are on a date, though both Shikamaru and Temari state that this is not the case.\n\nWhen the need arises, Shikamaru is quick to abandon his lazy nature and act appropriately to complete a mission or save his teammates. Using his Shadow Imitation Technique, the signature technique of his clan, he can capture the shadow of an opponent to either keep them immobilized or force them to mimic his movements. This ability causes Shikamaru to frequently take the task of stalling enemies so that his comrades can get to safety or to simply buy time. Although this role puts him in a dangerous position once he can no longer stall the opponent, Shikamaru is willing to serve it, feeling that sacrificing his life to ensure the safety of his friends is worth it. He then considers every element that is relevant to the situation at hand and analyzes the information to its fullest, planning out a battle ten moves in advance and devising over a hundred strategies to use against an opponent. This combination of intelligence and dedication to his teammates causes Shikamaru to become the first of the primary Konoha Genin to advance to the rank of Chunin.\n\nOnce becoming a Chunin, Shikamaru's father teaches him how to use his shadow technique more effectively, by using it to choke an opponent. This more interactive capability with his shadow is put to great use over the timeskip, and by Part II Shikamaru becomes proficient at using multiple shadow-based techniques at once. He is also able to manipulate his shadow to lift from the ground and either grab or throw weapons simply by utilizing an opponent's shadow for the same purpose. After he comes into the possession of Asuma's brass knuckles, Shikamaru learns to channel his shadow into them, using them to immobilize opponents by throwing them at an opponent's shadow to capture them and save himself the energy.\n\nShikamaru goes to the Chunin Exams without a particular objective, not caring if he becomes a Chunin or not. In the finals he fights Temari, and would've won, but he decided to forfeit. During the invasion of Konoha, Shikamaru helps Naruto and Sakura to find Sasuke by staying behind and creating a diversionary ambush against the Sound Ninja who were pursuing them. Even though he forfeited the match, he was still promoted to Chunin, mostly because of his incredible way of thinking displayed throughout it. As a result of his early advance to the rank of Chunin, Shikamaru plays a considerably more active role in the plot than most members of the Konoha 11, albeit more indirectly than the primary cast. His first assignment as a Chunin is to assemble a team to retrieve Sasuke Uchiha, who has betrayed Konoha in search for Orochimaru to gain greater power. This forces Shikamaru's team to defeat Sasuke's escorts, the Sound Four. While his teammates defeat their enemies, Sasuke is able to escape, despite their best efforts.\n\nIn Part II, Shikamaru is assigned to track down two members of Akatsuki. While he and his team manage to find their targets with relative ease, Akatsuki member Hidan is able to kill Asuma during the course of a battle. After Asuma's funeral, Shikamaru sets out with the surviving members of Team 10 and Kakashi to avenge their sensei. As his team deals with Hidan's partner, Shikamaru is able to defeat Hidan in memory of Asuma, and single-handedly weakens Akatsuki by one member.\n\nIn chapter 649 of the manga, Shikamaru states that when Naruto becomes the next Hokage, Naruto doesn't have a smart brother willing to be his adviser like the first Hokage and there would be no better adviser for Naruto other than him.\n\nYears later, Shikamaru married Temari and have a son named Shikadai.",
13 | "url": "https://myanimelist.net/character/2007/Shikamaru_Nara",
14 | "anime": [
15 | {
16 | "Anime": "Naruto SD: Rock Lee no Seishun Full-Power Ninden",
17 | "url": "https://myanimelist.net/anime/12979/Naruto_SD__Rock_Lee_no_Seishun_Full-Power_Ninden"
18 | },
19 | {
20 | "Anime": "Naruto: Honoo no Chuunin Shiken! Naruto vs. Konohamaru!!",
21 | "url": "https://myanimelist.net/anime/10686/Naruto__Honoo_no_Chuunin_Shiken_Naruto_vs_Konohamaru"
22 | },
23 | {
24 | "Anime": "Naruto: Shippuuden Movie 6 - Road to Ninja",
25 | "url": "https://myanimelist.net/anime/13667/Naruto__Shippuuden_Movie_6_-_Road_to_Ninja"
26 | },
27 | {
28 | "Anime": "Naruto: Shippuuden Movie 5 - Blood Prison",
29 | "url": "https://myanimelist.net/anime/10589/Naruto__Shippuuden_Movie_5_-_Blood_Prison"
30 | },
31 | {
32 | "Anime": "Naruto Soyokazeden Movie: Naruto to Mashin to Mitsu no Onegai Dattebayo!!",
33 | "url": "https://myanimelist.net/anime/10659/Naruto_Soyokazeden_Movie__Naruto_to_Mashin_to_Mitsu_no_Onegai_Dattebayo"
34 | },
35 | {
36 | "Anime": "Boruto: Naruto the Movie - Naruto ga Hokage ni Natta Hi",
37 | "url": "https://myanimelist.net/anime/32365/Boruto__Naruto_the_Movie_-_Naruto_ga_Hokage_ni_Natta_Hi"
38 | },
39 | {
40 | "Anime": "Boruto: Naruto Next Generations",
41 | "url": "https://myanimelist.net/anime/34566/Boruto__Naruto_Next_Generations"
42 | },
43 | {
44 | "Anime": "Naruto",
45 | "url": "https://myanimelist.net/anime/20/Naruto"
46 | },
47 | {
48 | "Anime": "Boruto: Naruto the Movie",
49 | "url": "https://myanimelist.net/anime/28755/Boruto__Naruto_the_Movie"
50 | },
51 | {
52 | "Anime": "The Last: Naruto the Movie",
53 | "url": "https://myanimelist.net/anime/16870/The_Last__Naruto_the_Movie"
54 | },
55 | {
56 | "Anime": "Naruto Narutimate Hero 3: Tsuini Gekitotsu! Jounin vs. Genin!! Musabetsu Dairansen Taikai Kaisai!!",
57 | "url": "https://myanimelist.net/anime/1074/Naruto_Narutimate_Hero_3__Tsuini_Gekitotsu_Jounin_vs_Genin_Musabetsu_Dairansen_Taikai_Kaisai"
58 | },
59 | {
60 | "Anime": "Naruto: Shippuuden",
61 | "url": "https://myanimelist.net/anime/1735/Naruto__Shippuuden"
62 | },
63 | {
64 | "Anime": "Naruto: Dai Katsugeki!! Yuki Hime Shinobu Houjou Dattebayo! - Konoha no Sato no Dai Undoukai",
65 | "url": "https://myanimelist.net/anime/2248/Naruto__Dai_Katsugeki_Yuki_Hime_Shinobu_Houjou_Dattebayo_-_Konoha_no_Sato_no_Dai_Undoukai"
66 | },
67 | {
68 | "Anime": "Naruto: Shippuuden Movie 3 - Hi no Ishi wo Tsugu Mono",
69 | "url": "https://myanimelist.net/anime/6325/Naruto__Shippuuden_Movie_3_-_Hi_no_Ishi_wo_Tsugu_Mono"
70 | },
71 | {
72 | "Anime": "Naruto Movie 2: Dai Gekitotsu! Maboroshi no Chiteiiseki Dattebayo!",
73 | "url": "https://myanimelist.net/anime/936/Naruto_Movie_2__Dai_Gekitotsu_Maboroshi_no_Chiteiiseki_Dattebayo"
74 | },
75 | {
76 | "Anime": "Naruto: Shippuuden Movie 2 - Kizuna",
77 | "url": "https://myanimelist.net/anime/4437/Naruto__Shippuuden_Movie_2_-_Kizuna"
78 | },
79 | {
80 | "Anime": "Naruto: Shippuuden - Shippuu! \"Konoha Gakuen\" Den",
81 | "url": "https://myanimelist.net/anime/4134/Naruto__Shippuuden_-_Shippuu_Konoha_Gakuen_Den"
82 | },
83 | {
84 | "Anime": "Naruto: Shippuuden Movie 1",
85 | "url": "https://myanimelist.net/anime/2472/Naruto__Shippuuden_Movie_1"
86 | }
87 | ],
88 | "manga": [
89 | {
90 | "name": "NarutoRock Lee no Seishun Full-Power NindenNaruto: Konoha Shinden - Yukemuri NinpouchouBoruto: Naruto Next GenerationsNaruto Hiden SeriesNaruto Gaiden: Nanadaime Hokage to Akairo no HanatsuzukiRoad to Ninja: Naruto the Movie",
91 | "url": "https://myanimelist.net/manga/11/Naruto"
92 | }
93 | ]
94 | },
95 | "chara_name": "shikamaru",
96 | "groupId": "6285559038021-1603688917@g.us",
97 | "msgID": [
98 | "false_6285559038021-1603688917@g.us_1099B1957FFD372685DC7BF3A5810EDD",
99 | "false_6285559038021-1603688917@g.us_3EB0DFBE32B3A85AAE6E",
100 | "false_6285559038021-1603688917@g.us_41B6C2595111593FEB513C9B6B5435AD",
101 | "false_6285559038021-1603688917@g.us_FD87EE7294D89D8EEA5CF7300B84A149",
102 | "false_6285559038021-1603688917@g.us_E20EA754F424E8C96D40F91D1ED46F21",
103 | "false_6285559038021-1603688917@g.us_2ADFDAAC9479FDF414EE80FFE26573C7",
104 | "false_6285559038021-1603688917@g.us_3EB012489D98FFEEADA7"
105 | ],
106 | "messages": [
107 | "That made disabled",
108 | "I'm forgot what i add :v",
109 | "Case",
110 | "**",
111 | "🐦",
112 | "See my code",
113 | "!charagame disable"
114 | ]
115 | }
--------------------------------------------------------------------------------
/lib/chara/6285559038021-1605869468@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Moriyama, Jin ",
9 | "image": [
10 | "https://mrhrtz-wabot.000webhostapp.com/cooltext372748737425114.png"
11 | ],
12 | "full_desc": "Jin Moriyama (森山仁)\nNo biography written.",
13 | "url": "https://myanimelist.net/character/143132/Jin_Moriyama",
14 | "anime": [
15 | {
16 | "Anime": "Burning Blood",
17 | "url": "https://myanimelist.net/anime/9177/Burning_Blood"
18 | }
19 | ],
20 | "manga": []
21 | },
22 | "chara_name": "Jin mori",
23 | "groupId": "6285559038021-1605869468@g.us",
24 | "msgID": [
25 | "false_6285559038021-1605869468@g.us_69D5E7E5C7B1A89E15A15B231106D99C",
26 | "false_6285559038021-1605869468@g.us_F7C15229473F307DD8ACC3D0DF02D0B3",
27 | "false_6285559038021-1605869468@g.us_668C648CFC02E675B6515D741D72DC5A",
28 | "false_6285559038021-1605869468@g.us_9E545EC3D3D5BE337C05E1504C517C7D",
29 | "false_6285559038021-1605869468@g.us_C055EEA446D5FB68220358920469B0D8",
30 | "false_6285559038021-1605869468@g.us_8A11AA24927B88D20E9383E6FB24577F"
31 | ],
32 | "messages": [
33 | "Offline",
34 | "!tts ar لا تقبل بأقل مما تستحق.. فأغلب أوجاعك تبدأ عندما تتنازل",
35 | "!tts en لا تقبل بأقل مما تستحق.. فأغلب أوجاعك تبدأ عندما تتنازل",
36 | "!tts EN لا تقبل بأقل مما تستحق.. فأغلب أوجاعك تبدأ عندما تتنازل",
37 | "Orang Indonesia?",
38 | "Streess"
39 | ]
40 | }
--------------------------------------------------------------------------------
/lib/chara/6285721733043-1609557240@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "unactive",
3 | "claimed_keyword": [],
4 | "claimed_by_name": [],
5 | "claimed_by_sender": [],
6 | "anime_result": {
7 | "status": 200,
8 | "name": "Levi ",
9 | "image": [
10 | "https://cdn.myanimelist.net/images/characters/2/241413.jpg"
11 | ],
12 | "full_desc": "Levi (リヴァイ)\nBirthday: December 25\nHeight: 160 cm (5'3\")\nWeight: 65 kg (143 lbs)\nAffiliations: Scouting Legion, Special Operations Squad\n\nLevi is known as humanity's most powerful soldier. He's ranked as Captain of the Scouting Legion division. Levi is also the leader of the Special Operations Squad, an elite team that he hand-picked in order to protect Eren Yeager. While it is said that he is blunt and unapproachable, it is noted that he has a strong respect for structure and discipline. There are rumors that he was originally part of underground crime before he became a soldier. Although he often appears to be unfriendly, he cares deeply for his team and has never undervalued human life. He is also a notorious clean-freak.\n\nIt is later revealed that his full name is Levi Ackerman.\nNote: Levi is the official English translation by Kodansha.",
13 | "url": "https://myanimelist.net/character/45627/Levi",
14 | "anime": [
15 | {
16 | "Anime": "Shingeki no Kyojin: Kuinaki Sentaku",
17 | "url": "https://myanimelist.net/anime/25781/Shingeki_no_Kyojin__Kuinaki_Sentaku"
18 | },
19 | {
20 | "Anime": "Shingeki! Kyojin Chuugakkou",
21 | "url": "https://myanimelist.net/anime/31374/Shingeki_Kyojin_Chuugakkou"
22 | },
23 | {
24 | "Anime": "Shingeki no Kyotou",
25 | "url": "https://myanimelist.net/anime/35122/Shingeki_no_Kyotou"
26 | },
27 | {
28 | "Anime": "Shingeki no Kyojin Season 2",
29 | "url": "https://myanimelist.net/anime/25777/Shingeki_no_Kyojin_Season_2"
30 | },
31 | {
32 | "Anime": "Shingeki no Kyojin Movie 2: Jiyuu no Tsubasa",
33 | "url": "https://myanimelist.net/anime/23777/Shingeki_no_Kyojin_Movie_2__Jiyuu_no_Tsubasa"
34 | },
35 | {
36 | "Anime": "Shingeki no Kyojin: The Final Season",
37 | "url": "https://myanimelist.net/anime/40028/Shingeki_no_Kyojin__The_Final_Season"
38 | },
39 | {
40 | "Anime": "Shingeki no Kyojin Season 3 Part 2",
41 | "url": "https://myanimelist.net/anime/38524/Shingeki_no_Kyojin_Season_3_Part_2"
42 | },
43 | {
44 | "Anime": "Shingeki no Kyojin: Chronicle",
45 | "url": "https://myanimelist.net/anime/42091/Shingeki_no_Kyojin__Chronicle"
46 | },
47 | {
48 | "Anime": "Shingeki no Kyojin Season 3",
49 | "url": "https://myanimelist.net/anime/35760/Shingeki_no_Kyojin_Season_3"
50 | },
51 | {
52 | "Anime": "Shingeki no Kyojin Movie 1: Guren no Yumiya",
53 | "url": "https://myanimelist.net/anime/23775/Shingeki_no_Kyojin_Movie_1__Guren_no_Yumiya"
54 | },
55 | {
56 | "Anime": "Shingeki no Kyojin OVA",
57 | "url": "https://myanimelist.net/anime/18397/Shingeki_no_Kyojin_OVA"
58 | },
59 | {
60 | "Anime": "Shingeki no Kyojin: Ano Hi Kara",
61 | "url": "https://myanimelist.net/anime/19285/Shingeki_no_Kyojin__Ano_Hi_Kara"
62 | },
63 | {
64 | "Anime": "Shingeki no Kyojin",
65 | "url": "https://myanimelist.net/anime/16498/Shingeki_no_Kyojin"
66 | },
67 | {
68 | "Anime": "Shingeki no Kyojin Picture Drama",
69 | "url": "https://myanimelist.net/anime/19391/Shingeki_no_Kyojin_Picture_Drama"
70 | }
71 | ],
72 | "manga": [
73 | {
74 | "name": "Shingeki no Kyojin: Kuinaki Sentaku - PrologueSungeki no KyojinShingeki no Kyojin: Kuinaki SentakuShingeki! Kyojin ChuugakkouShingeki no Kyojin",
75 | "url": "https://myanimelist.net/manga/70613/Shingeki_no_Kyojin__Kuinaki_Sentaku_-_Prologue"
76 | }
77 | ]
78 | },
79 | "chara_name": "levi",
80 | "groupId": "6285721733043-1609557240@g.us",
81 | "msgID": [
82 | "false_6285721733043-1609557240@g.us_EC5391836A8AA602F8B5904ADDB7B4F8",
83 | "false_6285721733043-1609557240@g.us_BA4B95EE3FA31ADD1836F971D39B6570",
84 | "false_6285721733043-1609557240@g.us_A227FD6FFF93B0C34BCD4453EE8E5D5F"
85 | ],
86 | "messages": [
87 | "Keluar lagi aja",
88 | "Ok",
89 | "!charagame disable"
90 | ]
91 | }
--------------------------------------------------------------------------------
/lib/chara/6285892766102-1608900013@g.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "unactive",
3 | "anime_result": {
4 | "status": 200,
5 | "name": "Kaname ",
6 | "image": "https://cdn.myanimelist.net/images/characters/11/388699.jpg",
7 | "full_desc": "Kaname (カナメ)\nKaname is a former Jukai's disciple",
8 | "url": "https://myanimelist.net/character/173474/Kaname",
9 | "anime": [
10 | {
11 | "Anime": "Dororo",
12 | "url": "https://myanimelist.net/anime/37520/Dororo"
13 | }
14 | ],
15 | "manga": [
16 | {
17 | "name": "",
18 | "url": "https://myanimelist.netundefined"
19 | }
20 | ]
21 | },
22 | "chara_name": " kaname",
23 | "groupId": "6285892766102-1608900013@g.us",
24 | "msgID": [
25 | "false_6285892766102-1608900013@g.us_AAD9MEZDJPFOFUZV5E3A",
26 | "false_6285892766102-1608900013@g.us_8C7D2BDAF3B6404F9986ED58CE19E530",
27 | "false_6285892766102-1608900013@g.us_1EC05E41AD62C86136C80F1DBA412F15",
28 | "false_6285892766102-1608900013@g.us_728E09F88E4A97070203E95626B03788",
29 | "false_6285892766102-1608900013@g.us_18537EF8ED5AE6EE6FD24790579D0961",
30 | "false_6285892766102-1608900013@g.us_E7EB4655F97C7886BF459CCC5AF83555",
31 | "false_6285892766102-1608900013@g.us_8B039ECF6628E6B553C5903F225F8783",
32 | "false_6285892766102-1608900013@g.us_D7BEDA9A448EEEFAE9249B90A26E6E9F",
33 | "false_6285892766102-1608900013@g.us_372278C7F21E498E1B4E962D82138FD9"
34 | ],
35 | "messages": [
36 | "*Bot Berjalan Selama 2 Jam 49 Menit 16 Detik*",
37 | "Iya. Tp maksudnya write jadi file?",
38 | "Anjing spam ae nih bot",
39 | "Owalah s nandaz",
40 | "Mute aja",
41 | "!mute",
42 | "nggak langsung raw ke base64\nTapi w coba di jadiin file dulu juga tetep kek gitu",
43 | "Lag botnya",
44 | "!charagame disable"
45 | ]
46 | }
--------------------------------------------------------------------------------
/lib/chara_galery/27632122007@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "27632122007@c.us",
4 | "name": "black lives matter",
5 | "animes": [
6 | {
7 | "status": 200,
8 | "name": "Sanji (Black Leg, Mr. Prince)",
9 | "image": [
10 | "https://cdn.myanimelist.net/images/characters/5/136769.jpg"
11 | ],
12 | "full_desc": "Sanji (サンジ)\nAge: 19→21\nBirthdate: March 2\nZodiac: Pisces\nHeight: 177 cm (5' 9\") → 180 cm (5'11\")\nBlood type: RH-\nAffiliation: Straw Hat Pirates (previously; Baratie)\nPosition: Cook\nDevil Fruit: none\nBounty:330,000,000 (previously: 177,000,000 ← 77,000,000)\nSanji is the chain-smoking chef of the Straw Hat Pirate Crew. He has superb fighting skills that only make use of his legs, in an effort to minimize damage to his hands which would impair his cooking skills.Except a single fight where he uses knives against a fellow chef. Sanji uses an array of powerful and varied kicking moves when he fights. His cooking skills are world class, and he was mentored in both cooking and fighting by Chef \"Red Leg\" Zeff of the Baratie. He was born in the North Blue, but grew up in the East Blue.\n\nSanji is trash-talking and serious, and usually gruff and impatient, especially around men. This is contrasted by his \"love-cook\" side, as he is very amorous around women. Sanji is completely devoted to any beautiful woman, usually losing all common sense and composure in front of them, then attempting to comically swoon them. This behavior has earned him the nickname \"ero-cook,\" or perverted cook. He can also be very chivalrous and gentlemanly around women, volunteering to help them in various tasks and situations, whether they need help or not. He has sworn to never let insult or injury happen to any woman while he can still stand, even if that woman is trying to kill him. This is often problematic in his fighting as he can't attack female opponents, and would rather die than hurt them. All this is apparently the result of a \"strict upbringing.\" To contradict his gentlemanly behavior, Sanji also enjoys seeing women wear skimpy clothing, and can be a voyeur.\n\nHis goal in life is to find the All Blue, a legendary ocean, which contains all the fish in the world. As such, it would be paradise for any cook with as much love for his work as Sanji, who holds great respect for the tools, ingredients, and art of cooking. So great is his devotion to his calling, that Sanji will not let any person or creature starve, regardless of them being friend or foe.\n\nBeing the crew's chef, he looks out for the health of his crewmates. Sanji respects Luffy as a captain, but often gets angry at him for eating too much, showing disrespect for the aesthetics of cooking, and generally being daft and irresponsible. He is constantly in petty fights with Zoro (sometimes calling him Marimo) over each others' traits and they have developed a rivalry, but have managed to make a devastating team together. He is very protective of the female crew members and Nami likes to take advantage of him, exploiting his extreme servility. Sanji originally wanted to cook Chopper, but has come to respect him as a crew member and friend. He's also good friends with Usopp; they team up and interact often, and Sanji understands him quite well. In short, he cares as much for the crew as any Straw Hat should, but unlike Zoro, Sanji shows these feelings more.\n\nIt is revealed that Sanji is the third son of the Vinsmokes, a family of killers. His father and one of the Yonkou, Big Mom, has arranged a marriage between him and the 35th daughter of the Charlotte family, Pudding.",
13 | "url": "https://myanimelist.net/character/305/Sanji",
14 | "anime": [
15 | {
16 | "Anime": "One Piece: Straw Hat Theater",
17 | "url": "https://myanimelist.net/anime/2680/One_Piece__Straw_Hat_Theater"
18 | },
19 | {
20 | "Anime": "One Piece Movie 9: Episode of Chopper Plus - Fuyu ni Saku, Kiseki no Sakura",
21 | "url": "https://myanimelist.net/anime/3848/One_Piece_Movie_9__Episode_of_Chopper_Plus_-_Fuyu_ni_Saku_Kiseki_no_Sakura"
22 | },
23 | {
24 | "Anime": "One Piece Film: Strong World",
25 | "url": "https://myanimelist.net/anime/4155/One_Piece_Film__Strong_World"
26 | },
27 | {
28 | "Anime": "One Piece: Mezase! Kaizoku Yakyuu Ou",
29 | "url": "https://myanimelist.net/anime/2490/One_Piece__Mezase_Kaizoku_Yakyuu_Ou"
30 | },
31 | {
32 | "Anime": "One Piece: Yume no Soccer Ou!",
33 | "url": "https://myanimelist.net/anime/2386/One_Piece__Yume_no_Soccer_Ou"
34 | },
35 | {
36 | "Anime": "One Piece 3D: Mugiwara Chase",
37 | "url": "https://myanimelist.net/anime/9999/One_Piece_3D__Mugiwara_Chase"
38 | },
39 | {
40 | "Anime": "One Piece Recap",
41 | "url": "https://myanimelist.net/anime/8171/One_Piece_Recap"
42 | },
43 | {
44 | "Anime": "One Piece 3D: Gekisou! Trap Coaster",
45 | "url": "https://myanimelist.net/anime/12001/One_Piece_3D__Gekisou_Trap_Coaster"
46 | },
47 | {
48 | "Anime": "One Piece: Romance Dawn Story",
49 | "url": "https://myanimelist.net/anime/5252/One_Piece__Romance_Dawn_Story"
50 | },
51 | {
52 | "Anime": "One Piece: Jango no Dance Carnival",
53 | "url": "https://myanimelist.net/anime/2385/One_Piece__Jango_no_Dance_Carnival"
54 | },
55 | {
56 | "Anime": "One Piece Movie 7: Karakuri-jou no Mecha Kyohei",
57 | "url": "https://myanimelist.net/anime/465/One_Piece_Movie_7__Karakuri-jou_no_Mecha_Kyohei"
58 | },
59 | {
60 | "Anime": "One Piece: Umi no Heso no Daibouken-hen",
61 | "url": "https://myanimelist.net/anime/1094/One_Piece__Umi_no_Heso_no_Daibouken-hen"
62 | },
63 | {
64 | "Anime": "One Piece: Oounabara ni Hirake! Dekkai Dekkai Chichi no Yume!",
65 | "url": "https://myanimelist.net/anime/1237/One_Piece__Oounabara_ni_Hirake_Dekkai_Dekkai_Chichi_no_Yume"
66 | },
67 | {
68 | "Anime": "One Piece Movie 5: Norowareta Seiken",
69 | "url": "https://myanimelist.net/anime/463/One_Piece_Movie_5__Norowareta_Seiken"
70 | },
71 | {
72 | "Anime": "One Piece Movie 6: Omatsuri Danshaku to Himitsu no Shima",
73 | "url": "https://myanimelist.net/anime/464/One_Piece_Movie_6__Omatsuri_Danshaku_to_Himitsu_no_Shima"
74 | },
75 | {
76 | "Anime": "One Piece Movie 8: Episode of Alabasta - Sabaku no Oujo to Kaizoku-tachi",
77 | "url": "https://myanimelist.net/anime/2107/One_Piece_Movie_8__Episode_of_Alabasta_-_Sabaku_no_Oujo_to_Kaizoku-tachi"
78 | },
79 | {
80 | "Anime": "One Piece: Nenmatsu Tokubetsu Kikaku! Mugiwara no Luffy Oyabun Torimonochou",
81 | "url": "https://myanimelist.net/anime/2020/One_Piece__Nenmatsu_Tokubetsu_Kikaku_Mugiwara_no_Luffy_Oyabun_Torimonochou"
82 | },
83 | {
84 | "Anime": "One Piece: Mamore! Saigo no Dai Butai",
85 | "url": "https://myanimelist.net/anime/1238/One_Piece__Mamore_Saigo_no_Dai_Butai"
86 | },
87 | {
88 | "Anime": "One Piece: Adventure of Nebulandia",
89 | "url": "https://myanimelist.net/anime/32051/One_Piece__Adventure_of_Nebulandia"
90 | },
91 | {
92 | "Anime": "One Piece Film: Gold",
93 | "url": "https://myanimelist.net/anime/31490/One_Piece_Film__Gold"
94 | },
95 | {
96 | "Anime": "One Piece: Heart of Gold",
97 | "url": "https://myanimelist.net/anime/33338/One_Piece__Heart_of_Gold"
98 | },
99 | {
100 | "Anime": "One Piece: Episode of Sabo - 3 Kyoudai no Kizuna Kiseki no Saikai to Uketsugareru Ishi",
101 | "url": "https://myanimelist.net/anime/31289/One_Piece__Episode_of_Sabo_-_3_Kyoudai_no_Kizuna_Kiseki_no_Saikai_to_Uketsugareru_Ishi"
102 | },
103 | {
104 | "Anime": "One Piece: Episode of Alabasta - Prologue",
105 | "url": "https://myanimelist.net/anime/28683/One_Piece__Episode_of_Alabasta_-_Prologue"
106 | },
107 | {
108 | "Anime": "One Piece: Episode of Sorajima",
109 | "url": "https://myanimelist.net/anime/37902/One_Piece__Episode_of_Sorajima"
110 | },
111 | {
112 | "Anime": "One Piece Movie 14: Stampede",
113 | "url": "https://myanimelist.net/anime/38234/One_Piece_Movie_14__Stampede"
114 | },
115 | {
116 | "Anime": "One Piece: Episode of East Blue - Luffy to 4-nin no Nakama no Daibouken",
117 | "url": "https://myanimelist.net/anime/36215/One_Piece__Episode_of_East_Blue_-_Luffy_to_4-nin_no_Nakama_no_Daibouken"
118 | },
119 | {
120 | "Anime": "One Piece Film: Gold Episode 0 - 711 ver.",
121 | "url": "https://myanimelist.net/anime/33606/One_Piece_Film__Gold_Episode_0_-_711_ver"
122 | },
123 | {
124 | "Anime": "One Piece: Kinkyuu Kikaku One Piece Kanzen Kouryakuhou",
125 | "url": "https://myanimelist.net/anime/16143/One_Piece__Kinkyuu_Kikaku_One_Piece_Kanzen_Kouryakuhou"
126 | },
127 | {
128 | "Anime": "One Piece: Episode of Luffy - Hand Island no Bouken",
129 | "url": "https://myanimelist.net/anime/16239/One_Piece__Episode_of_Luffy_-_Hand_Island_no_Bouken"
130 | },
131 | {
132 | "Anime": "One Piece: Episode of Nami - Koukaishi no Namida to Nakama no Kizuna",
133 | "url": "https://myanimelist.net/anime/15323/One_Piece__Episode_of_Nami_-_Koukaishi_no_Namida_to_Nakama_no_Kizuna"
134 | },
135 | {
136 | "Anime": "One Piece Film: Z",
137 | "url": "https://myanimelist.net/anime/12859/One_Piece_Film__Z"
138 | },
139 | {
140 | "Anime": "One Piece: Glorious Island",
141 | "url": "https://myanimelist.net/anime/16468/One_Piece__Glorious_Island"
142 | },
143 | {
144 | "Anime": "Nissan Serena x One Piece 3D: Mugiwara Chase - Sennyuu!! Sauzando Sanii-gou",
145 | "url": "https://myanimelist.net/anime/20871/Nissan_Serena_x_One_Piece_3D__Mugiwara_Chase_-_Sennyuu_Sauzando_Sanii-gou"
146 | },
147 | {
148 | "Anime": "One Piece 3D2Y: Ace no shi wo Koete! Luffy Nakama Tono Chikai",
149 | "url": "https://myanimelist.net/anime/25161/One_Piece_3D2Y__Ace_no_shi_wo_Koete_Luffy_Nakama_Tono_Chikai"
150 | },
151 | {
152 | "Anime": "One Piece: Episode of Merry - Mou Hitori no Nakama no Monogatari",
153 | "url": "https://myanimelist.net/anime/19123/One_Piece__Episode_of_Merry_-_Mou_Hitori_no_Nakama_no_Monogatari"
154 | },
155 | {
156 | "Anime": "One Piece Movie 2: Nejimaki-jima no Daibouken",
157 | "url": "https://myanimelist.net/anime/460/One_Piece_Movie_2__Nejimaki-jima_no_Daibouken"
158 | },
159 | {
160 | "Anime": "One Piece",
161 | "url": "https://myanimelist.net/anime/21/One_Piece"
162 | },
163 | {
164 | "Anime": "One Piece Movie 4: Dead End no Bouken",
165 | "url": "https://myanimelist.net/anime/462/One_Piece_Movie_4__Dead_End_no_Bouken"
166 | },
167 | {
168 | "Anime": "One Piece Movie 3: Chinjuu-jima no Chopper Oukoku",
169 | "url": "https://myanimelist.net/anime/461/One_Piece_Movie_3__Chinjuu-jima_no_Chopper_Oukoku"
170 | }
171 | ],
172 | "manga": [
173 | {
174 | "name": "One Piece PartyShokugeki no SanjiOne Piece x TorikoOne Piece Log Book OmakeCross EpochOne Piece",
175 | "url": "https://myanimelist.net/manga/86972/One_Piece_Party"
176 | }
177 | ]
178 | }
179 | ]
180 | }
--------------------------------------------------------------------------------
/lib/chara_galery/6281328917586@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "6281328917586@c.us",
4 | "name": "Atr Gans",
5 | "animes": [
6 | ""
7 | ]
8 | }
--------------------------------------------------------------------------------
/lib/chara_galery/6283805191681@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "6283805191681@c.us",
4 | "name": "Rolan",
5 | "animes": [
6 | ""
7 | ]
8 | }
--------------------------------------------------------------------------------
/lib/chara_galery/6285764112841@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "6285764112841@c.us",
4 | "name": "~☆¤《Adi Raw^k🐒👻》¤☆~",
5 | "animes": [
6 | ""
7 | ]
8 | }
--------------------------------------------------------------------------------
/lib/chara_galery/62895621590008@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "62895621590008@c.us",
4 | "name": "ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ",
5 | "animes": [
6 | ""
7 | ]
8 | }
--------------------------------------------------------------------------------
/lib/chara_galery/6289636035164@c.us.json:
--------------------------------------------------------------------------------
1 | {
2 | "status": "active",
3 | "sender": "6289636035164@c.us",
4 | "name": "A Dev",
5 | "animes": [
6 | {
7 | "status": 200,
8 | "name": "SF-A2 miki (Mikina Freesis, Mickina Olliba)",
9 | "image": "https://cdn.myanimelist.net/images/characters/7/225565.jpg",
10 | "full_desc": "SF-A2 miki (SF-A2 開発コード miki)\nSF-A2 codename miki, is a Japanese VOCALOID developed and distributed by AH-Software Co. Ltd., and was released in December 2009 for the VOCALOID2 engine. Her voice is provided by the Japanese female singer, Miki Furukawa.\n\n\nAlternative names/personalities:\nAku no Musume: Mikina Freesis (ミキナ=フリージス)\nVenomania-kou no Kyouki: Mickina Olliba",
11 | "url": "https://myanimelist.net/character/94963/SF-A2_miki",
12 | "anime": [],
13 | "manga": [
14 | {
15 | "name": "Aku no Taizai: Venomania-kou no KyoukiAku no Musume",
16 | "url": "https://myanimelist.net/manga/61877/Aku_no_Taizai__Venomania-kou_no_Kyouki"
17 | }
18 | ]
19 | }
20 | ]
21 | }
--------------------------------------------------------------------------------
/lib/characounter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "groupID": "345234",
4 | "messages": []
5 | },
6 | {
7 | "groupID": "345a234",
8 | "messages": []
9 | }
10 | ]
--------------------------------------------------------------------------------
/lib/charasession:
--------------------------------------------------------------------------------
1 | [
2 | "6285559038021-1603688917@g.us"
3 | ]
--------------------------------------------------------------------------------
/lib/charasession.json:
--------------------------------------------------------------------------------
1 | [
2 | "6285559038021-1603688917@g.us"
3 | ]
--------------------------------------------------------------------------------
/lib/chargame.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/lib/color.js:
--------------------------------------------------------------------------------
1 | const chalk = require('chalk')
2 |
3 | module.exports = color = (text, color) => {
4 | return !color ? chalk.green(text) : chalk.keyword(color)(text)
5 | }
--------------------------------------------------------------------------------
/lib/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "sAdmin": "6285559038021@c.us",
3 | "restartState": true,
4 | "restartId": "6285559038021-1603688917@g.us",
5 | "banChats": false,
6 | "Rest": true,
7 | "limitCount": 30,
8 | "memberLimit": 25,
9 | "groupLimit": 25,
10 | "prefix": "!",
11 | "mtc": false,
12 | "whitelist": []
13 | }
--------------------------------------------------------------------------------
/lib/dataadz.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "shubuh": "04:22",
4 | "magrib": "18:23"
5 | }
6 | ]
--------------------------------------------------------------------------------
/lib/db-sticker.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "key": "dgc.jpg"
4 | }
5 | ]
--------------------------------------------------------------------------------
/lib/dmff.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs-extra')
2 |
3 | module.exports = welcomeD = async (client, event) => {
4 | //console.log(event.action)
5 | const welkomD = JSON.parse(fs.readFileSync('./lib/dmff.json'))
6 | const isWelkomD = welkomD.includes(event.chat)
7 | try {
8 | if (event.action == 'add' && isWelkomD) {
9 | const gChat = await client.getChatById(event.chat)
10 | const pChat = await client.getContact(event.who)
11 | const siapa = event.who.replace('@c.us','')
12 | const { contact, groupMetadata, name } = gChat
13 | console.log(contact,'\n\n',name,'\n\n',event)
14 | const pepe = await client.getProfilePicFromServer(event.who)
15 | const capt = `Halo ${siapa} member baru👋🏻Welcome To DROP DM @CRAFFTSTORE.1
16 |
17 | Untuk melihat Daftar Harga Atau perintah Bot Silakan Ketik #menu(tanpa huruf tebal)
18 | `
19 | if (pepe == '' || pepe == undefined) {
20 | await client.sendFileFromUrl(event.chat, 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTQcODjk7AcA4wb_9OLzoeAdpGwmkJqOYxEBA&usqp=CAU', 'profile.jpg', capt)
21 | } else {
22 | await client.sendFileFromUrl(event.chat, pepe, 'profile.jpg', capt)
23 | }
24 |
25 | }
26 | } catch (err) {
27 | console.log(err)
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lib/dmff.json:
--------------------------------------------------------------------------------
1 | ["6285216810127-1602212654@g.us","6285559038021-1603688917@g.us","6285216810127-1602212654@g.us","6285216810127-1602212654@g.us"]
--------------------------------------------------------------------------------
/lib/fetcher.js:
--------------------------------------------------------------------------------
1 | const fetch = require('node-fetch');
2 | const FormData = require('form-data')
3 | const fs = require('fs')
4 | const { fromBuffer } = require('file-type')
5 | const resizeImage = require('./imageProcessing')
6 |
7 | /**
8 | *Fetch Json from Url
9 | *
10 | *@param {String} url
11 | *@param {Object} options
12 | */
13 | const fetchJson = (url, options) =>
14 | new Promise((resolve, reject) =>
15 | fetch(url, options)
16 | .then(response => response.json())
17 | .then(json => resolve(json))
18 | .catch(err => {
19 | console.error(err)
20 | reject(err)
21 | })
22 | )
23 |
24 | /**
25 | * Fetch Text from Url
26 | *
27 | * @param {String} url
28 | * @param {Object} options
29 | */
30 | const fetchText = (url, options) => {
31 | return new Promise((resolve, reject) => {
32 | return fetch(url, options)
33 | .then(response => response.text())
34 | .then(text => resolve(text))
35 | .catch(err => {
36 | console.error(err)
37 | reject(err)
38 | })
39 | })
40 | }
41 |
42 | /**
43 | * Fetch base64 from url
44 | * @param {String} url
45 | */
46 |
47 | const fetchBase64 = (url, mimetype) => {
48 | return new Promise((resolve, reject) => {
49 | console.log('Get base64 from:', url)
50 | return fetch(url)
51 | .then((res) => {
52 | const _mimetype = mimetype || res.headers.get('content-type')
53 | res.buffer()
54 | .then((result) => resolve(`data:${_mimetype};base64,` + result.toString('base64')))
55 | })
56 | .catch((err) => {
57 | console.error(err)
58 | reject(err)
59 | })
60 | })
61 | }
62 |
63 | /**
64 | * Upload Image to Telegra.ph
65 | *
66 | * @param {String} base64 image buffer
67 | * @param {Boolean} resize
68 | */
69 |
70 | const uploadImages = (buffData, type) => {
71 | // eslint-disable-next-line no-async-promise-executor
72 | return new Promise(async (resolve, reject) => {
73 | const { ext } = await fromBuffer(buffData)
74 | const filePath = 'lib/tmp.' + ext
75 | const _buffData = type ? await resizeImage(buffData, false) : buffData
76 | fs.writeFile(filePath, _buffData, { encoding: 'base64' }, (err) => {
77 | if (err) return reject(err)
78 | console.log('Uploading image to telegra.ph server...')
79 | const fileData = fs.readFileSync(filePath)
80 | const form = new FormData()
81 | form.append('file', fileData, 'tmp.' + ext)
82 | fetch('https://telegra.ph/upload', {
83 | method: 'POST',
84 | body: form
85 | })
86 | .then(res => res.json())
87 | .then(res => {
88 | if (res.error) return reject(res.error)
89 | resolve('https://telegra.ph' + res[0].src)
90 | })
91 | .then(() => fs.unlinkSync(filePath))
92 | .catch(err => reject(err))
93 | })
94 | })
95 | }
96 |
97 | module.exports = {
98 | fetchJson,
99 | fetchText,
100 | fetchBase64,
101 | uploadImages
102 | }
103 |
104 |
105 | const getBase64 = async (url) => {
106 | const response = await fetch(url, { headers: { 'User-Agent': 'okhttp/4.5.0' } })
107 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
108 | const buffer = await response.buffer();
109 | const videoBase64 = `data:${response.headers.get('content-type')};base64,` + buffer.toString('base64');
110 | if (buffer)
111 | return videoBase64;
112 | };
113 |
114 | exports.getBase64 = getBase64;
115 |
--------------------------------------------------------------------------------
/lib/freedom.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs-extra')
2 |
3 | module.exports = welcomeF = async (client, event) => {
4 | //console.log(event.action)
5 | const welkomF = JSON.parse(fs.readFileSync('./lib/freedom.json'))
6 | const isWelkomF = welkomF.includes(event.chat)
7 | try {
8 | if (event.action == 'add' && isWelkomF) {
9 | const gChat = await client.getChatById(event.chat)
10 | const pChat = await client.getContact(event.who)
11 | const { contact, groupMetadata, name } = gChat
12 | const pepe = await client.getProfilePicFromServer(event.who)
13 | const siapa = event.who.replace(/@c.us/g,'')
14 | const capt = `WELCOME TO FREEDOM STORE @${siapa}
15 |
16 | JIKA INGIN CEK HARGA SILAHKAN KETIK
17 | *!FF / !ML / !PUBG* (PILIH SALAH SATU) DI GRUP INI
18 |
19 | DAN JUGA JANGAN LUPA PATUHI PERATURAN NYA :)
20 |
21 | PERATURAN GRUP FREEDOM:
22 | DILARANG :
23 | - PROMOSI DALAM BENTUK APAPUN
24 | - NGERUSUH
25 | - MAINAN / MENGGUNAKAN KEYWORD BOT DILUAR KEYWORD YANG DI BOLEHKAN
26 | - SHARE LINK
27 | - PEMBAHASAN 18+
28 | - TOXIC BERLEBIHAN
29 | - BERBICARA YANG MENGANDUNG UNSUR SARA/UJARAN KEBENCIAN
30 |
31 | JIKA ADA PERTANYAAN / MASUKAN/ KRITIK
32 | SILAHKAN HUBUNGI ADMIN :
33 | 1. wa.me/6288233282599
34 | 2. wa.me/6285747528021`
35 | client.sendTextWithMentions(event.chat, capt)
36 |
37 | }
38 | } catch (err) {
39 | console.log(err)
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/lib/freedom.json:
--------------------------------------------------------------------------------
1 | ["6288233282599-1601304366@g.us","6285559038021-1603688917@g.us"]
--------------------------------------------------------------------------------
/lib/functions.js:
--------------------------------------------------------------------------------
1 | const { default: got } = require('got/dist/source');
2 | const fetch = require('node-fetch')
3 | const { getBase64 } = require("./fetcher")
4 | const request = require('request')
5 | const emoji = require('emoji-regex')
6 | const fs = require('fs-extra')
7 |
8 | const liriklagu = async (lagu) => {
9 | const response = await fetch(`http://scrap.terhambar.com/lirik?word=${lagu}`)
10 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`);
11 | const json = await response.json()
12 | if (json.status === true) return `Lirik ${lagu}\n\n${json.result.lirik}`
13 | return `[ Error ] Lirik Lagu ${lagu} tidak di temukan!`
14 | }
15 |
16 | // const ytmp3s = async (link3) => {
17 | // const response = await fetch(`http://scrap.terhambar.com/lirik?word=${lagu}`)
18 | // if (!response.ok) throw new Error(`unexpected response ${response.statusText}`);
19 | // const json = await response.json()
20 | // if (json.status === true) return `Lirik Lagu ${lagu}\n\n${json.result.lirik}`
21 | // return `[ Error ] Lirik Lagu ${lagu} tidak di temukan!`
22 | // }
23 |
24 |
25 | const quotemaker = async (quotes, author = 'EmditorBerkelas', type = 'random') => {
26 | var q = quotes.replace(/ /g, '%20').replace('\n','%5Cn')
27 | const response = await got.get(`https://api.i-tech.id/tools/qtm?key=ijmalalfafanajib&type=${type}&author=${author}&text=${q}`).json()
28 | // const response = await fetch(`https://terhambar.com/aw/qts/?kata=${q}&author=${author}&tipe=${type}`)
29 | // if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
30 | // const json = await response.json()
31 | if (response.status) {
32 | if (response.result !== '') {
33 | const base64 = response.result
34 | return base64
35 | }
36 | }
37 | }
38 |
39 | const emojiStrip = (string) => {
40 | return string.replace(emoji, '')
41 | }
42 |
43 | const fb = async (url) => {
44 | try {
45 | const response = await fetch(`https://mhankbarbar.herokuapp.com/api/epbe?url=${url}&apiKey=9eqNrrqr6UxSlck3uGDD`)
46 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
47 | const json = await response.json()
48 | if (json.status === 200) return {
49 | 'capt': `*Data berhasil ditemukan!*\n\n*Judul* : ${json.title}\n*Size* : ${json.filesize}`, 'exts': '.mp4', 'url': json.result
50 | }
51 | console.log(json)
52 | return {
53 | 'capt': '[ ERROR ] Not found!', 'exts': '.jpg', 'url': 'http://mrhrtz-wabot.000webhostapp.com/404.jpg'
54 | }
55 | console.log(json)
56 | } catch (err) {
57 | console.log(err)
58 | }
59 | }
60 |
61 |
62 |
63 | const twt = async (twturl) => {
64 | const response = await fetch(`http://keepsaveit.com/api/?api_key=3tgDBIOPAPl62b0zuaWNYog2wvRrc4V414AjMi5zdHbU4a&url=${twturl}`)
65 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
66 | const json = await response.json()
67 | if (json.status === true) return {
68 | 'exts': json.response.links.ext,'capt': `\n*Title* : ${json.response.title}\n*Resolusi* : ${json.response.links[0].resolution}\n*Size* : ${json.response.links[0].size}`, 'url': json.response.links[0].url
69 | }
70 | return {
71 | 'capt': '[ ERROR ] Not found! Hanya menerima link video twitter yang valid.', 'exts': '.jpg', 'url': 'http://mrhrtz-wabot.000webhostapp.com/404.jpg'
72 | }
73 | }
74 |
75 | const ig = async (igurl) => {
76 | try {
77 | const response = await got.get(`https://api.vhtear.com/instadl?link=${igurl}&apikey=botnolepbydandyproject`).json()
78 | //if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
79 | //const json = await response.json()
80 | //console.log(response)
81 | if (response.error) return response.error
82 | console.log(response)
83 | if (response.status !== 200) return {
84 | 'capt': `Video telah terkirim`, 'urlV': response.result.post[1].urlDownload, 'urlP': response.result.post[0].urlDownload, 'user': response.result.owner_username
85 | }
86 | return {
87 | 'capt': '[ ERROR ] Not found! Akunnya mungkin private.', 'exts': '.jpg', 'url': 'http://mrhrtz-wabot.000webhostapp.com/404.jpg'
88 | }
89 | } catch (e){
90 | console.log(e)
91 | }
92 | }
93 |
94 | const ss = async(query) => {
95 | request({
96 | url: "https://api.i-tech.id/tools/ssweb",
97 | encoding: "binary",
98 | qs: {
99 | key: "ZEL5ZL-Wm5Psl-66gG9x-W3FHEa-97bm8g",
100 | link: query
101 | }
102 | }, (error, response, body) => {
103 | if (error) {
104 | console.log(error);
105 | } else {
106 | fs.writeFile("./media/img/screenshot.jpg", body, "binary", error => {
107 | console.log(error);
108 | })
109 | }
110 | })
111 | }
112 |
113 | const tulis = async(kahayang) => {
114 | request({
115 | url: "https://api.vhtear.com/write",
116 | encoding: "binary",
117 | qs: {
118 | text: kahayang,
119 | apikey: "botnolepbydandyproject"
120 | }
121 | }, (error, response, body) => {
122 | if (error) {
123 | console.log(error);
124 | } else {
125 | fs.writeFile("./media/img/nulez.jpg", body, "binary", error => {
126 | console.log(error);
127 | })
128 | }
129 | })
130 | }
131 |
132 | const randomNimek = async (type) => {
133 | var url = 'https://api.computerfreaker.cf/v1/'
134 | switch(type) {
135 | case 'nsfw':
136 | const nsfw = await got.get(url + 'nsfwneko').json()
137 | //if (!nsfw.ok) throw new Error(`unexpected response ${nsfw.statusText}`)
138 | //const resultNsfw = await nsfw.json()
139 | return nsfw.url
140 | break
141 | case 'hentai':
142 | const hentai = await got.get(url + 'hentai').json()
143 | //if (!hentai.ok) throw new Error(`unexpected response ${hentai.statusText}`)
144 | //const resultHentai = await hentai.json()
145 | return hentai.url
146 | break
147 | case 'anime':
148 | let anime = await got.get(url + 'anime').json()
149 | //if (!anime.ok) throw new Error(`unexpected response ${anime.statusText}`)
150 | //const resultNime = await anime.json()
151 | return anime.url
152 | break
153 | case 'neko':
154 | let neko = await got.get(url + 'neko').json()
155 | //if (!neko.ok) throw new Error(`unexpected response ${neko.statusText}`)
156 | //const resultNeko = await neko.json()
157 | return neko.url
158 | break
159 | case 'trap':
160 | let trap = await got.get(url + 'trap').json()
161 | //if (!trap.ok) throw new Error(`unexpected response ${trap.statusText}`)
162 | //const resultTrap = await trap.json()
163 | return trap.url
164 | break
165 | }
166 | }
167 |
168 | const sleep = async (ms) => {
169 | return new Promise(resolve => setTimeout(resolve, ms));
170 | }
171 |
172 | const jadwalTv = async (query) => {
173 | const res = await got.get(`https://api.haipbis.xyz/jadwaltv/${query}`).json()
174 | if (res.error) return res.error
175 | switch(query) {
176 | case 'antv':
177 | return `\t\t[ ANTV ]\n${res.join('\n')}`
178 | break
179 | case 'gtv':
180 | return `\t\t[ GTV ]\n${res.join('\n')}`
181 | break
182 | case 'indosiar':
183 | return `\t\t[ INDOSIAR ]\n${res.join('\n')}`
184 | break
185 | case 'inewstv':
186 | return `\t\t[ iNewsTV ]\n${res.join('\n')}`
187 | break
188 | case 'kompastv':
189 | return `\t\t[ KompasTV ]\n${res.join('\n')}`
190 | break
191 | case 'mnctv':
192 | return `\t\t[ MNCTV ]\n${res.join('\n')}`
193 | break
194 | case 'metrotv':
195 | return `\t\t[ MetroTV ]\n${res.join('\n')}`
196 | break
197 | case 'nettv':
198 | return `\t\t[ NetTV ]\n${res.join('\n')}`
199 | break
200 | case 'rcti':
201 | return `\t\t[ RCTI ]\n${res.join('\n')}`
202 | break
203 | case 'sctv':
204 | return `\t\t[ SCTV ]\n${res.join('\n')}`
205 | break
206 | case 'rtv':
207 | return `\t\t[ RTV ]\n${res.join('\n')}`
208 | break
209 | case 'trans7':
210 | return `\t\t[ Trans7 ]\n${res.join('\n')}`
211 | break
212 | case 'transtv':
213 | return `\t\t[ TransTV ]\n${res.join('\n')}`
214 | break
215 | default:
216 | return '[ ERROR ] Channel TV salah! silahkan cek list channel dengan mengetik perintah *!listChannel*'
217 | break
218 | }
219 | }
220 | function between(min, max) {
221 | return Math.floor(
222 | Math.random() * (max - min) + min
223 | )
224 | }
225 |
226 | exports.between = between
227 | exports.liriklagu = liriklagu
228 | exports.quotemaker = quotemaker
229 | exports.randomNimek = randomNimek
230 | exports.fb = fb
231 | exports.tulis = tulis
232 | exports.ig = ig
233 | exports.emojiStrip = emojiStrip
234 | exports.sleep = sleep
235 | exports.jadwalTv = jadwalTv
236 | exports.ss = ss
237 | exports.twt = twt
--------------------------------------------------------------------------------
/lib/functions.js.bak:
--------------------------------------------------------------------------------
1 | const { default: got } = require('got/dist/source');
2 | const fetch = require('node-fetch')
3 | const { getBase64 } = require("./fetcher")
4 |
5 | const Chordlagu = async (clagu) => {
6 | const response = await fetch(`https://mhankbarbar.herokuapp.com/api/chord?q=${clagu}`)
7 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`);
8 | const json = await response.json()
9 | if (json.status === 200) return `Chord Lagu ${clagu}\n\n${json.result}`
10 | return `[ Error ] Chord Lagu ${clagu} tidak di temukan!`
11 | }
12 |
13 | const liriklagu = async (lagu) => {
14 | const response = await fetch(`http://scrap.terhambar.com/lirik?word=${lagu}`)
15 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`);
16 | const json = await response.json()
17 | if (json.status === true) return `Lirik Lagu ${lagu}\n\n${json.result.lirik}`
18 | return `[ Error ] Lirik Lagu ${lagu} tidak di temukan!`
19 | }
20 |
21 |
22 | const quotemaker = async (quotes, author = 'EmditorBerkelas', type = 'random') => {
23 | var q = quotes.replace(/ /g, '%20').replace('\n','%5Cn')
24 | const response = await fetch(`https://terhambar.com/aw/qts/?kata=${q}&author=${author}&tipe=${type}`)
25 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
26 | const json = await response.json()
27 | if (json.status) {
28 | if (json.result !== '') {
29 | const base64 = await getBase64(json.result)
30 | return base64
31 | }
32 | }
33 | }
34 |
35 | const fb = async (url) => {
36 | const response = await fetch(`http://scrap.terhambar.com/fb?link=${url}`)
37 | if (!response.ok) throw new Error(`unexpected response ${response.statusText}`)
38 | const json = await response.json()
39 | console.log(json)
40 | if (json.status === true) return {
41 | 'capt': json.result.title, 'exts': '.mp4', 'url': json.result.linkVideo.sdQuality
42 | }
43 | return {
44 | 'capt': '[ ERROR ] Not found!', 'exts': '.jpg', 'url': 'https://c4.wallpaperflare.com/wallpaper/976/117/318/anime-girls-404-not-found-glowing-eyes-girls-frontline-wallpaper-preview.jpg'
45 | }
46 | }
47 | const randomNimek = async (type) => {
48 | var url = 'https://api.computerfreaker.cf/v1/'
49 | switch(type) {
50 | case 'nsfw':
51 | const nsfw = await fetch(url + 'nsfwneko')
52 | if (!nsfw.ok) throw new Error(`unexpected response ${nsfw.statusText}`)
53 | const resultNsfw = await nsfw.json()
54 | return resultNsfw.url
55 | break
56 | case 'hentai':
57 | const hentai = await fetch(url + 'hentai')
58 | if (!hentai.ok) throw new Error(`unexpected response ${hentai.statusText}`)
59 | const resultHentai = await hentai.json()
60 | return resultHentai.url
61 | break
62 | case 'anime':
63 | let anime = await fetch(url + 'anime')
64 | if (!anime.ok) throw new Error(`unexpected response ${anime.statusText}`)
65 | const resultNime = await anime.json()
66 | return resultNime.url
67 | break
68 | case 'neko':
69 | let neko = await fetch(url + 'neko')
70 | if (!neko.ok) throw new Error(`unexpected response ${neko.statusText}`)
71 | const resultNeko = await neko.json()
72 | return resultNeko.url
73 | break
74 | case 'trap':
75 | let trap = await fetch(url + 'trap')
76 | if (!trap.ok) throw new Error(`unexpected response ${trap.statusText}`)
77 | const resultTrap = await trap.json()
78 | return resultTrap.url
79 | break
80 | }
81 | }
82 |
83 | const sleep = async (ms) => {
84 | return new Promise(resolve => setTimeout(resolve, ms));
85 | }
86 |
87 | const jadwalTv = async (query) => {
88 | const res = await got.get(`https://api.haipbis.xyz/jadwaltv/${query}`).json()
89 | if (res.error) return res.error
90 | switch(query) {
91 | case 'antv':
92 | return `\t\t[ ANTV ]\n${res.join('\n')}`
93 | break
94 | case 'gtv':
95 | return `\t\t[ GTV ]\n${res.join('\n')}`
96 | break
97 | case 'indosiar':
98 | return `\t\t[ INDOSIAR ]\n${res.join('\n')}`
99 | break
100 | case 'inewstv':
101 | return `\t\t[ iNewsTV ]\n${res.join('\n')}`
102 | break
103 | case 'kompastv':
104 | return `\t\t[ KompasTV ]\n${res.join('\n')}`
105 | break
106 | case 'mnctv':
107 | return `\t\t[ MNCTV ]\n${res.join('\n')}`
108 | break
109 | case 'metrotv':
110 | return `\t\t[ MetroTV ]\n${res.join('\n')}`
111 | break
112 | case 'nettv':
113 | return `\t\t[ NetTV ]\n${res.join('\n')}`
114 | break
115 | case 'rcti':
116 | return `\t\t[ RCTI ]\n${res.join('\n')}`
117 | break
118 | case 'sctv':
119 | return `\t\t[ SCTV ]\n${res.join('\n')}`
120 | break
121 | case 'rtv':
122 | return `\t\t[ RTV ]\n${res.join('\n')}`
123 | break
124 | case 'trans7':
125 | return `\t\t[ Trans7 ]\n${res.join('\n')}`
126 | break
127 | case 'transtv':
128 | return `\t\t[ TransTV ]\n${res.join('\n')}`
129 | break
130 | default:
131 | return '[ ERROR ] Channel TV salah! silahkan cek list channel dengan mengetik perintah *!listChannel*'
132 | break
133 | }
134 | }
135 |
136 | exports.Chordlagu = Chordlagu;
137 | exports.liriklagu = liriklagu;
138 | exports.quotemaker = quotemaker;
139 | exports.randomNimek = randomNimek
140 | exports.fb = fb
141 | exports.sleep = sleep
142 | exports.jadwalTv = jadwalTv
143 |
--------------------------------------------------------------------------------
/lib/giphy.js:
--------------------------------------------------------------------------------
1 | const request = require('request')
2 | const fs = require('fs-extra')
3 | const uploadToGiphy = (filename) => {
4 | var postData = {
5 | api_key: '9LofYhiVHaU6y1Sf5RZ8M6asa6F5mHAS',
6 | file: {
7 | value: fs.createReadStream(filename),
8 | options: {
9 | filename: filename,
10 | contentType: 'image/gif'
11 | }
12 | }
13 | }
14 | var opt = {
15 | url: 'https://upload.giphy.com/v1/gifs?api_key=' + postData.api_key,
16 | formData: postData,
17 | json: true
18 | }
19 | const p = new Promise((resolve, reject) => {
20 | request.post(opt, function (e, resp, body) {
21 | if(e || resp.statusCode !== 200) return console.log('Upload giphy failed!')
22 | resolve('https://media.giphy.com/media/' + body.data.id + '/giphy.gif')
23 | })
24 | })
25 | return p
26 | }
27 | const opts = () => {
28 | return {
29 | duration: 5,
30 | rate: 8,
31 | width: 300,
32 | height: 300,
33 | }
34 | }
35 | exports.opts = opts
36 | exports.uploadToGiphy = uploadToGiphy
--------------------------------------------------------------------------------
/lib/help.js:
--------------------------------------------------------------------------------
1 |
2 | function help() {
3 | return `
4 | ▃▄▅▆▇█████╬██╬█████▇▆▅▄▃
5 | ███ 🤖 *DGC ChatBotV3* 🤖 ███
6 |
7 |
8 | Hi Nice to see you! ✨
9 | ________________________________________
10 |
11 | ❕ 〘 Info 〙 ❕
12 |
13 | ➣ *!donasi* (Bisa request fitur dan jan lupa dukungannya)
14 | ➣ *!profil*
15 | ➣ *!snk* (Rules syarat dan ketentuan)
16 | ➣ *!info*
17 |
18 | ________________________________________
19 |
20 | 🎶 〘 Social & Media 〙 📲
21 |
22 | ➣ *!igsearch* _@username_
23 | ➣ *!igstalk* _@username_
24 | ➣ *!play*
25 | ➣ *!tiktok* _linkTiktok_
26 | ➣ *!musik* _Katakunci_
27 | ➣ *!video* _KataKunci_
28 | ➣ *!twt* _linkVideoTwitter_
29 | ➣ *!ytmp3* _linkYt_
30 | ➣ *!ytmp4* _linkYt_
31 | ➣ *!ig* _linkIg_
32 | ➣ *!fb* _linkFb_
33 |
34 | ________________________________________
35 |
36 | 📇 〘 Grup 〙 🛡️
37 |
38 | ➣ *!antilink*
39 | ➣ *!deantilink*
40 | ➣ *!add* _62858xxxxx_
41 | ➣ *!kick* _@tagmember_
42 | ➣ *!promote* _@tagmember_
43 | ➣ *!demote* _@tagadmin_
44 | ➣ *!mutegrup*
45 | ➣ *!unmutegrup*
46 | ➣ *!mentionAll*
47 | ➣ *!adminList*
48 | ➣ *!ownerGroup*
49 | ➣ *!sambutan* _aktif/mati_
50 | ➣ *!leave*
51 | ➣ *!linkGroup*
52 | ➣ *!delete* _tagPesanChatbot_
53 |
54 | ________________________________________
55 |
56 | 🕹️ 〘 Kontrol Bot 〙 📋
57 |
58 | ➣ *!mute*
59 | ➣ *!unmute*
60 | ➣ *!bug* _Pesan yang akan disampaikan_
61 |
62 | ________________________________________
63 |
64 | 🎤〘 Anonymous Chat 〙💺
65 |
66 | _Note : Khusus Private Chat!_
67 |
68 | ➣ *!kirim _Teksnya_*
69 | ➣ *!daftar _62855xxxx_*
70 | ➣ *!hapus _62855xxxx_*
71 | ➣ *!list*
72 |
73 | ________________________________________
74 |
75 | ☠️〘 Artikel DGC 〙🇮🇩
76 |
77 |
78 | ➣ *!artikelDgc* _Halaman_
79 | ➣ *!read* _ID POST_
80 |
81 | ________________________________________
82 |
83 | 🎯〘 Gacha 〙🎲
84 |
85 | ➣ *!cecan*
86 | ➣ *!cogan*
87 | ➣ *!suit*
88 | ➣ *!pictquotes*
89 | ➣ *!loli*
90 | ➣ *!quotes*
91 | ➣ *!caklontong*
92 | ➣ *!ganteng*
93 | ➣ *!babi*
94 |
95 | ________________________________________
96 |
97 | 🧭 〘 Stiker 〙 💡
98 |
99 | ➣ *!savestiker* _Namanya_
100 | ➣ *!liststiker*
101 | ➣ *!getstiker* _Namanya_
102 | ➣ *!toimage*
103 | ➣ *!tostiker* _Teksnya_
104 | ➣ *!tostikergif* _Teksnya_
105 | ➣ *!stiker*
106 | ➣ *!stikergif*
107 | ➣ *!stikerori*
108 | ➣ *!stikernobg* (VIP)
109 |
110 | ________________________________________
111 |
112 | 🔭 〘 Search 〙 🔍
113 |
114 | ➣ *!ceklokasi* (tag lokasi anda, sharelok)
115 | ➣ *!gambar* _KataKunci_
116 | ➣ *!cekjodoh*
117 | ➣ *!ramalanjodoh*
118 | ➣ *!fact*
119 | ➣ *!artinama* _namakamu_
120 | ➣ *!search* _KataKunci_
121 | ➣ *!nyanyi* _Lagunya_
122 | ➣ *!brainly* _katakunci_ |_jumlahjawaban_
123 | ➣ *!playstore* _NamaApp_
124 | ➣ *!wiki* _Katakunci_
125 | ➣ *!chord* _Lagu_
126 | ➣ *!igStalk* _@username_
127 | ➣ *!searchYT* _Katakunci_
128 | ➣ *!wallpaper* _halaman_ _katakunci_
129 | ➣ *!jadwalTvNow*
130 | ➣ *!jadwalShalat* _daerah_
131 | ➣ *!jadwalTv* _channel_
132 | ➣ *!cuaca* _Daerah_
133 | ➣ *!lirik* _lagu_
134 |
135 | ________________________________________
136 |
137 | 🎯 〘 Fitur Lainnya 〙 🎳
138 |
139 | ➣ *!hilih* _(Tagpesan)_
140 | ➣ *!ssweb* _LinkWebsite_
141 | ➣ *$* _Masukan pesanmu_ (Fitur Chat Simsimi)
142 | ➣ *!qrcode* _Teksnya_
143 | ➣ *!nulis* _Tulisannya_
144 | ➣ *!translate* _data bahasa_ _teks_
145 | ➣ *!SendOwner*
146 | ➣ *!tts* _kode bhs_ _teks_
147 | ➣ *!quotemaker* |teks|pembuat|theme (tema dalam bahasa inggris)
148 |
149 | ________________________________________
150 |
151 | ╰╼ _DGC_CHATBOT@3.0 ©2020_
152 |
153 |
154 | Untuk perintah tidak memakai "_" dan "*"
155 |
156 | Contoh : _!gambar 1 office_
157 |
158 |
159 | *Note : Apabila bot tidak merespon chat wa.me/6285559038021 (Owner bot) Untuk segera difix*`
160 | }
161 | exports.help = help()
162 | function bahasa_list() {
163 | return `*Data bahasa salah!*
164 |
165 | Gunakan perintah :
166 | _!translate [data bahasa] [teksnya]_
167 | contoh :
168 | _!translate en bagaimana kabarmu_
169 |
170 | Atau untuk TTS
171 | Gunakan perintah :
172 | _!tts [data bahasa] [teksnya]_
173 | contoh :
174 | _!tts id Hari yang cerah_
175 |
176 | *List data bahasa yang dikenal :*
177 |
178 | af: Afrikaans
179 | sq: Albanian
180 | ar: Arabic
181 | hy: Armenian
182 | ca: Catalan
183 | zh: Chinese
184 | hr: Croatian
185 | cs: Czech
186 | da: Danish
187 | nl: Dutch
188 | en: English
189 | eo: Esperanto
190 | fi: Finnish
191 | fr: French
192 | de: German
193 | el: Greek
194 | ht: Haitian Creole
195 | hi: Hindi
196 | hu: Hungarian
197 | is: Icelandic
198 | id: Indonesian
199 | it: Italian
200 | ja: Japanese
201 | ko: Korean
202 | la: Latin
203 | lv: Latvian
204 | mk: Macedonian
205 | no: Norwegian
206 | pl: Polish
207 | pt: Portuguese
208 | ro: Romanian
209 | ru: Russian
210 | sr: Serbian
211 | sk: Slovak
212 | es: Spanish
213 | sw: Swahili
214 | sv: Swedish
215 | ta: Tamil
216 | th: Thai
217 | tr: Turkish
218 | vi: Vietnamese
219 | cy: Welsh
220 | `}
221 | exports.bahasa_list = bahasa_list()
222 | function readme() {
223 | return `
224 | *[linkYt]* Diisi dengan link YouTube yang valid tanpa tanda “[” dan “]”
225 | Contoh : *!ytmp3 https://youtu.be/Bskehapzke8*
226 |
227 | *[linkYt]* Diisi dengan link YouTube yang valid tanpa tanda “[” dan “]”
228 | Contoh : *!ytmp4 https://youtu.be/Bskehapzke8*
229 |
230 | *[linkIg]* Diisi dengan link Instagram yang valid tanpa tanda “[” dan “]”
231 | Contoh : *!ig https://www.instagram.com/p/CFqRZTlluAi/?igshid=1gtxkbdqhnbbe*
232 |
233 | *[linkFb]* Diisi dengan link Facebook yang valid tanpa tanda “[” dan “]”
234 | Contoh : *!fb https://www.facebook.com/EpochTimesTrending/videos/310155606660409*
235 |
236 | *[daerah]* Diisi dengan daerah yang valid, tanpa tanda “[” dan “]”
237 | Contoh : *!jadwalShalat Tangerang*
238 |
239 | *[channel]* Diisi dengan channel televisi yang valid, tanpa tanda “[” dan “]”
240 | Contoh : *!jadwalTv Indosiar*
241 |
242 | *[tempat]* Diisi dengan tempat/lokasi yang valid, tanpa tanda “[” dan “]“
243 | Contoh : *!cuaca tangerang*
244 |
245 | *[kode bhs]* Diisi dengan kode bahasa, contoh *id*, *en*, dll. Dan *[teks]* Diisi dengan teks yang ingin di jadikan voice, Masih sama seperti di atas tanpa tanda “[” dan “]”
246 | Contoh : *!tts id Test*
247 | Note : Max 250 huruf
248 |
249 | *[@username]* Diisi dengan username Instagram yang valid, tanpa tanda “[” dan “]”
250 | Contoh : *!igStalk @duar_amjay*
251 |
252 | *[|teks|author|theme]* Diisi dengan teks, author, dan theme, tanpa tanda “[” dan “]”
253 | Contoh : *!quotemaker |Odading|Mang Oleh|Shark*
254 |
255 | *[linkGroup]* Diisi dengan link group whatsapp yang valid, tanpa tanda “[” dan “]”.
256 | Contoh : *!join https://chat.whatsapp.com/Bhhw77d5t2gjao8*
257 |
258 | *[optional]* Diisi dengan teks|title lirik lagu, tanpa tanda “[” dan “]”.
259 | Contoh : *!lirik aku bukan boneka*`
260 | }
261 | exports.readme = readme()
262 | function info() {
263 | return `Bot ini di buat dengan bahasa pemrograman Node.js / JavaScript
264 | Nama Bot : DGC ChatBotV3
265 | Tanggal Rilis : 2 Okt 2020
266 | Owner Bot : wa.me/6285559038021
267 |
268 | *MRHRTZ @ Leader DGC Team Attacker*`
269 | }
270 | exports.info = info()
271 | function snk() {
272 | return `Syarat dan Ketentuan Bot *DGC ChatBotV3*
273 |
274 | 1. Teks dan nama pengguna WhatsApp anda akan kami simpan di dalam server selama bot aktif
275 | 2. Data anda akan di hapus ketika bot Offline
276 | 3. Kami tidak menyimpan gambar, video, file, audio, dan dokumen yang anda kirim
277 | 4. Kami tidak akan pernah meminta anda untuk memberikan informasi pribadi
278 | 5. Jika menemukan Bug/Error silahkan langsung lapor ke Owner bot
279 | 6. Dilarang SPAMMING
280 | 7. Dilarang request yang berbau pornografi
281 | 9. Dilarang VC/CALL Bot (Autoblock)
282 | 10. Apapun yang anda perintah pada bot ini, KAMI TIDAK AKAN BERTANGGUNG JAWAB!
283 |
284 | _Jika terdeteksi melanggar rules bot akan ban dan out grup sesuai ketentuan_
285 |
286 | Thanks !`
287 | }
288 | exports.snk = snk()
289 | function donate() {
290 | return `\nHaiii.. Mau donate ni?
291 |
292 | Untuk donate tf ke 085559038021 (GOPAY/DANA) jangan lupa kasih pesan untuk dukungannya yaa.. 😊
293 |
294 | Thanks!`
295 | }
296 | exports.donate = donate()
297 | function listChannel() {
298 | return `Daftar channel:
299 | 1. ANTV
300 | 2. GTV
301 | 3. Indosiar
302 | 4. iNewsTV
303 | 5. KompasTV
304 | 6. MNCTV
305 | 7. METROTV
306 | 8. NETTV
307 | 9. RCTI
308 | 10. SCTV
309 | 11. RTV
310 | 12. Trans7
311 | 13. TransTV`
312 | }
313 | exports.listChannel = listChannel()
314 |
--------------------------------------------------------------------------------
/lib/imageProcessing.js:
--------------------------------------------------------------------------------
1 | const sharp = require('sharp')
2 | const { fromBuffer } = require('file-type')
3 |
4 | /**
5 | * Resize image to buffer or base64
6 | * @param {Buffer} bufferdata
7 | * @param {Boolean} encode
8 | * @param {String} mimType
9 | */
10 | // eslint-disable-next-line no-async-promise-executor
11 | module.exports = resizeImage = (buff, encode) => new Promise(async (resolve, reject) => {
12 | console.log('Resizeing image...')
13 | const { mime } = await fromBuffer(buff)
14 | sharp(buff, { failOnError: false })
15 | .resize(512, 512)
16 | .toBuffer()
17 | .then(resizedImageBuffer => {
18 | if (!encode) return resolve(resizedImageBuffer)
19 | console.log('Create base64 from resizedImageBuffer...')
20 | const resizedImageData = resizedImageBuffer.toString('base64')
21 | const resizedBase64 = `data:${mime};base64,${resizedImageData}`
22 | resolve(resizedBase64)
23 | })
24 | .catch(error => reject(error))
25 | })
26 |
--------------------------------------------------------------------------------
/lib/index.js:
--------------------------------------------------------------------------------
1 | exports.getLocationData = require('./location')
--------------------------------------------------------------------------------
/lib/kontak_izin.json:
--------------------------------------------------------------------------------
1 | [
2 | "6285864126273",
3 | "6285600144654",
4 | "6282281088789",
5 | "6285731353491",
6 | "6285864126273",
7 | "6285559038021",
8 | "6281213089927",
9 | "6285755364184",
10 | "6281247875578",
11 | "62895418310105",
12 | "6281241474822",
13 | "6282171309945",
14 | "6287857046112",
15 | "6282259218016",
16 | "628983961469",
17 | "6288295863159",
18 | "6282117048795",
19 | "6282117048795",
20 | "6283142321131",
21 | "6285725726747",
22 | "6285378968459",
23 | "6285875787276",
24 | "6285378968459",
25 | "628983961469",
26 | "6281210280216",
27 | "6283142321131",
28 | "62895606051646",
29 | "6282135304765",
30 | "6285864126273",
31 | "6285705756726",
32 | "6281223392936",
33 | "6287737641796",
34 | "6281393445913",
35 | "6281521738705",
36 | "6282268305363",
37 | "6289523731135",
38 | "6285156394894",
39 | "6285800701748",
40 | "6282312097249",
41 | "6285650822398",
42 | "6283805191681",
43 | "6285348251256",
44 | "6287742330986",
45 | "628873637358"
46 | ]
--------------------------------------------------------------------------------
/lib/lib-igeh.js:
--------------------------------------------------------------------------------
1 | const Insta = require('scraper-instagram');
2 | const InstaClient = new Insta();
3 |
4 |
5 | function igpost(url) {
6 | return new Promise((resolve, reject) => {
7 | if (url.includes('instagram.com')) {
8 | const idRegex = /([-_0-9A-Za-z]{11})/
9 | const id = url.match(idRegex)
10 | InstaClient.getPost(id[0]).then((a) => {
11 | const user = a.author.username
12 | const name = a.author.name
13 | const author_pic = a.author.pic
14 | let media = []
15 | for (let i = 0; i < a.contents.length; i++) {
16 | const konten = a.contents[i]
17 | media.push({
18 | tipe: konten.type,
19 | link: konten.url
20 | })
21 | }
22 | let tagged = []
23 | a.tagged.forEach(person => {
24 | tagged.push(person)
25 | });
26 | const like = a.likes
27 | const caption = a.caption
28 | const publish = new Date(a.timestamp * 1000)
29 | resolve({
30 | nama: name,
31 | username: user,
32 | author_pic: author_pic,
33 | timestamp: publish,
34 | like: like,
35 | caption: caption,
36 | media: media,
37 | tagged: tagged
38 | })
39 | }).catch(reject)
40 | } else {
41 | reject('URL TIDAK VALID!')
42 | }
43 | })
44 | }
45 |
46 | module.exports.igpost = igpost
--------------------------------------------------------------------------------
/lib/limit.json:
--------------------------------------------------------------------------------
1 | {"id":"6285559038021@c.us","limit":0}
--------------------------------------------------------------------------------
/lib/listadzan.json:
--------------------------------------------------------------------------------
1 | [
2 | "6285559038021-1605869468@g.us"
3 | ]
--------------------------------------------------------------------------------
/lib/location.js:
--------------------------------------------------------------------------------
1 | const { fetchJson } = require('../lib/fetcher')
2 |
3 | async function getZoneStatus (latitude, longitude, userId = '2d8ecc70-8310-11ea-84f8-13de98afc5a4') {
4 | return new Promise((resolve, reject) => {
5 | const options = {
6 | method: 'POST',
7 | headers: {
8 | Authorization: 'Basic dGVsa29tOmRhMWMyNWQ4LTM3YzgtNDFiMS1hZmUyLTQyZGQ0ODI1YmZlYQ== ',
9 | Accept: 'application/json'
10 | },
11 | body: JSON.stringify({
12 | latitude: latitude.toString(),
13 | longitude: longitude.toString(),
14 | userId
15 | })
16 | }
17 | fetchJson('https://api.pedulilindungi.id/zone/v1', options)
18 | .then(json => {
19 | const result = {
20 | kode: json.data.zone,
21 | status: '',
22 | optional: ''
23 | }
24 |
25 | switch (json.data.zone) {
26 | case 'red':
27 | result.status = 'anda berada di Zona Merah penyebaran COVID-19.'
28 | result.optional = 'Zona Merah adalah area yang sudah terdapat kasus Positif COVID-19.'
29 | break
30 | case 'yellow':
31 | result.status = 'anda berada di Zona Kuning penyebaran COVID-19.'
32 | result.optional = 'Zona Kuning adalah area yang sudah terdapat kasus ODP atau PDP COVID-19.'
33 | break
34 | case 'green':
35 | result.status = 'anda berada di Zona Hijau penyebaran COVID-19.'
36 | result.optional = 'Zona Hijau adalah area yang belum terdapat kasus PDP atau Positif COVID-19.'
37 | break
38 | }
39 |
40 | if (!json.success && json.message == 'Anda berada di zona aman.') {
41 | result.kode = 'green'
42 | result.status = 'anda berada di Zona Hijau penyebaran COVID-19.'
43 | result.optional = 'Zona Hijau adalah area yang belum terdapat kasus PDP atau Positif COVID-19.'
44 | }
45 | resolve(result)
46 | })
47 | .catch((err) => reject(err))
48 | })
49 | }
50 |
51 | async function getArea (latitude, longitude, size = 10) {
52 | return new Promise((resolve, reject) => {
53 | const options = {
54 | method: 'GET',
55 | headers: {
56 | Authorization: ' Basic dGVsa29tOmRhMWMyNWQ4LTM3YzgtNDFiMS1hZmUyLTQyZGQ0ODI1YmZlYQ== ',
57 | 'Content-Type': ' application/json '
58 | }
59 | }
60 | fetchJson(`https://api.pedulilindungi.id/zone/v1/location/area?latitude=${latitude}&longitude=${longitude}&page=1&size=${size}`, options)
61 | .then(json => {
62 | if (json.success && json.code == 200) resolve(json)
63 | })
64 | .catch((err) => reject(err))
65 | })
66 | };
67 |
68 | module.exports = getLocationData = async (latitude, longitude) => {
69 | try {
70 | const responses = await Promise.all([getZoneStatus(latitude, longitude), getArea(latitude, longitude)])
71 | const result = {
72 | kode: 200,
73 | status: responses[0].status,
74 | optional: responses[0].optional,
75 | data: []
76 | }
77 | responses[1].data.map((x) => result.data.push(x))
78 | return result
79 | } catch (err) {
80 | console.log(err)
81 | return { kode: 0 }
82 | }
83 | }
--------------------------------------------------------------------------------
/lib/msgFilter.js:
--------------------------------------------------------------------------------
1 | const usedCommandRecently = new Set()
2 |
3 | /**
4 | * Check is number filtered
5 | * @param {String} from
6 | */
7 | const isFiltered = (from) => !!usedCommandRecently.has(from)
8 |
9 | /**
10 | * Add number to filter
11 | * @param {String} from
12 | */
13 | const addFilter = (from) => {
14 | usedCommandRecently.add(from)
15 | setTimeout(() => usedCommandRecently.delete(from), 5000) // 5sec is delay before processing next command
16 | }
17 |
18 | module.exports = {
19 | isFiltered,
20 | addFilter
21 | }
--------------------------------------------------------------------------------
/lib/msgLimit.json:
--------------------------------------------------------------------------------
1 | {"id":"6285559038021@c.us","limit":0}
--------------------------------------------------------------------------------
/lib/muted.json:
--------------------------------------------------------------------------------
1 | [
2 | "6289628310364-1591412063@g.us",
3 | "6288279620103-1585830877@g.us"
4 | ]
--------------------------------------------------------------------------------
/lib/pengguna.json:
--------------------------------------------------------------------------------
1 | ["6287823633325@c.us","6281328917586@c.us","6285821676621@c.us","6285858546502@c.us","62895391370804@c.us","6285236780647@c.us","6281339263184@c.us","27638747759@c.us","6283805191681@c.us","6281617401785@c.us","6285648417001@c.us","6282283333943@c.us","62895322019922@c.us","6283146279445@c.us","6281232642964@c.us","6281543457577@c.us","6285217930712@c.us","6281246160828@c.us","27724374162@c.us","6289667611900@c.us","62895711577997@c.us","62895600555028@c.us","62895341676556@c.us","6288231345003@c.us","628812672813@c.us","6289637429813@c.us","6287876888324@c.us","6282239905845@c.us","6281222508228@c.us","6281391709190@c.us","6289530876832@c.us","628813357204@c.us","6282363731984@c.us","6283143092516@c.us","6285336515046@c.us","6289653718845@c.us","6285331622522@c.us","6285227658383@c.us","6282320441905@c.us","6281213089927@c.us","6285366072446@c.us","6281584142535@c.us","6281256550804@c.us","62895353483046@c.us","6282112380502@c.us","6282230101101@c.us","6281318239792@c.us","6283169873901@c.us","6282169996532@c.us"]
--------------------------------------------------------------------------------
/lib/perizinan.json:
--------------------------------------------------------------------------------
1 | [
2 | "6285559038021-1603688917@g.us",
3 | "6288216811360-1560225436@g.us",
4 | "6285559038021-1605869468@g.us",
5 | "6287723637392-1608550210@g.us",
6 | "6283128425223-1601763624@g.us",
7 | "6285864126273-1609119412@g.us",
8 | "6285864126273@c.us",
9 | "6287723637392-1608737448@g.us",
10 | "62895321217901-1595865261@g.us",
11 | "6289502799316-1605194459@g.us",
12 | "6289652018855-1608729648@g.us",
13 | "6281311850715-1605290009@g.us",
14 | "6281776952371-1588857268@g.us",
15 | "27731052724-1606073820@g.us",
16 | "27632122007-1608630746@g.us",
17 | "6285755364184@c.us",
18 | "6285273146227-1608108981@g.us",
19 | "6289526924934-1608943263@g.us",
20 | "6285755364184-1607400259@g.us",
21 | "6289628310364-1591412063@g.us",
22 | "27795173021-1606226596@g.us",
23 | "6289637318547-1605458467@g.us",
24 | "62895418310105@c.us",
25 | "6287883365170-1606275946@g.us",
26 | "6282289728315-1602735390@g.us",
27 | "6282171309945-1608683575@g.us",
28 | "6282239506212-1601897780@g.us",
29 | "6289613141435-1590149954@g.us",
30 | "6289526924934@c.us",
31 | "6289526924934-1608943263@g.us",
32 | "6285559038021@c.us",
33 | "6285156902925-1594041349@g.us",
34 | "6288279620103-1585830877@g.us",
35 | "6288295863159-1604820077@g.us",
36 | "6283142321131-1609239189@g.us",
37 | "6285951662289-1602250054@g.us",
38 | "6285225413473@c.us",
39 | "6282281088789@c.us",
40 | "6283142321131-1597898245@g.us",
41 | "6283142321131-1609239189@g.us",
42 | "6283142321131-1609239189@g.us",
43 | "6281393483806@c.us",
44 | "6285883786063-1609034899@g.us",
45 | "6283142321131@c.us",
46 | "6282281088789@c.us",
47 | "6285860637879-1606305531@g.us",
48 | "6282333508462@c.us",
49 | "6285378968459-1609249959@g.us",
50 | "6288258030557-1597672927@g.us",
51 | "6285892766102-1608900013@g.us",
52 | "6282117048795-1606474677@g.us",
53 | "628983961469-1597687228@g.us",
54 | "6282171309945-1608683575@g.us",
55 | "6282117048795-1606474677@g.us",
56 | "6285559038021@c.us",
57 | "6285721733043@c.us",
58 | "6282117048795@c.us",
59 | "6288806852080@c.us",
60 | "6282171309945-1608683575@g.us",
61 | "6281275209364-1603954255@g.us",
62 | "34611455160-1475081533@g.us",
63 | "6282117048795-1604017820@g.us",
64 | "6282117048795-1604017820@g.us",
65 | "6283841972228-1606531344@g.us",
66 | "6289611838200@c.us",
67 | "6285378968459-1609249959@g.us",
68 | "6281213089927-1607788140@g.us",
69 | "6281213089927@c.us",
70 | "6285378968459-1609249959@g.us",
71 | "6285378968459-1609249959@g.us",
72 | "6283142321131-1609239189@g.us",
73 | "6283142321131-1609239189@g.us",
74 | "6285378968459-1607395988@g.us",
75 | "6285378968459-1607395988@g.us",
76 | "6285717729039@c.us",
77 | "6281213089927-1607788140@g.us",
78 | "6285378968459-1607395988@g.us",
79 | "6285378968459-1607395988@g.us",
80 | "6285378968459-1607395988@g.us",
81 | "6285378968459-1607395988@g.us",
82 | "6285767689101-1588546647@g.us",
83 | "6282335945249-1606217593@g.us",
84 | "6282335945249-1606217593@g.us",
85 | "628983961469-1609336789@g.us",
86 | "6285378968459-1609249959@g.us",
87 | "6282335945249-1606217593@g.us",
88 | "6285378968459@c.us",
89 | "6282375307705-1608367069@g.us",
90 | "6282375307705-1608367069@g.us",
91 | "6282335945249-1606217593@g.us",
92 | "6285378968459-1607395988@g.us",
93 | "6285559038021-1603588233@g.us",
94 | "6283123578415@c.us",
95 | "6289617354652-1605319669@g.us",
96 | "6285721733043-1609376612@g.us",
97 | "6288295863159-1604820077@g.us",
98 | "6288295863159-1604820077@g.us",
99 | "6285378968459-1607395988@g.us",
100 | "6285378968459-1607395988@g.us",
101 | "6281393483806-1599542177@g.us",
102 | "6281230783321-1609327825@g.us",
103 | "6281521738705-1607761069@g.us",
104 | "6281236755657-1608091070@g.us",
105 | "6281236755657-1608091070@g.us",
106 | "6282268305363-1609405880@g.us",
107 | "6281393445913-1608476973@g.us",
108 | "6287737641796-1609407342@g.us",
109 | "6287737641796-1609407342@g.us",
110 | "6282335945249-1606217593@g.us",
111 | "6288276274179-1604215866@g.us",
112 | "6289611838200-1606197196@g.us",
113 | "6281393483806-1599542177@g.us",
114 | "6282117048795-1605188136@g.us",
115 | "6282117048795-1605188136@g.us",
116 | "6285378968459-1607395988@g.us",
117 | "6281393445913@c.us",
118 | "6285378968459-1607395988@g.us",
119 | "6288806852080-1603843811@g.us",
120 | "6282117048795-1591949033@g.us",
121 | "6282117048795-1591949033@g.us",
122 | "6288270942642-1609411116@g.us",
123 | "6288270942642@c.us",
124 | "6288270942642-1609411116@g.us",
125 | "6288270942642@c.us",
126 | "6288270942642-1609411116@g.us",
127 | "6285378968459-1607395988@g.us",
128 | "6285378968459-1607395988@g.us",
129 | "6282335945249-1606217593@g.us",
130 | "6282117048795-1605188136@g.us",
131 | "6282117048795-1591949033@g.us",
132 | "6282117048795-1591949033@g.us",
133 | "6282333508462-1603361232@g.us",
134 | "6285711242744-1606007376@g.us",
135 | "6285378968459-1607395988@g.us",
136 | "6288295863159@c.us",
137 | "919025374268-1606401934@g.us",
138 | "6288295863159-1604820077@g.us",
139 | "6288295863159-1604820077@g.us",
140 | "6288295863159-1604820077@g.us",
141 | "6288295863159-1604820077@g.us",
142 | "628157750007-1600600141@g.us",
143 | "6285378968459-1607395988@g.us",
144 | "6282171309945-1608683575@g.us",
145 | "6289523731135-1607173666@g.us",
146 | "6283123578415-1606445005@g.us",
147 | "6289638302977-1600751890@g.us",
148 | "6282117048795-1606474677@g.us",
149 | "6287836414647-1608054010@g.us",
150 | "6287737641796-1609407342@g.us",
151 | "6287836414647-1607526025@g.us",
152 | "6282335945249-1606217593@g.us",
153 | "6285800701748-1607329744@g.us",
154 | "6283135657537-1604494601@g.us",
155 | "6285650822398-1603967898@g.us",
156 | "628872388382-1605931819@g.us",
157 | "6285721733043-1609557240@g.us",
158 | "6285721733043-1609557240@g.us",
159 | "6282171309945@c.us",
160 | "6283805191681-1604633071@g.us",
161 | "6281251841746-1576743478@g.us",
162 | "6285721733043-1609557240@g.us",
163 | "6285721733043-1609557240@g.us",
164 | "6283805191681@c.us",
165 | "6282335945249-1606217593@g.us",
166 | "6289523731135@c.us",
167 | "6285800701748@c.us",
168 | "6281547371314-1602209363@g.us",
169 | "6287840517249-1596691882@g.us",
170 | "6281294216382-1596372591@g.us",
171 | "6282335945249-1606217593@g.us",
172 | "6281213089927-1607788140@g.us",
173 | "6281213089927-1607788140@g.us",
174 | "6281247875578-1608741592@g.us",
175 | "6281247875578-1608741592@g.us",
176 | "6285712074383-1608813626@g.us",
177 | "6282335945249-1606217593@g.us"
178 | ]
--------------------------------------------------------------------------------
/lib/random/anime/husbu.txt:
--------------------------------------------------------------------------------
1 | https://i.pinimg.com/originals/ad/de/a8/addea895a1e367dbb7ec77ed643441c2.jpg
2 | https://i.pinimg.com/originals/8c/5f/84/8c5f845ef47b196e364dbd55560abc7c.jpg
3 | https://i.pinimg.com/originals/c3/10/4b/c3104beed2932a1e6f24d592eade7d4b.jpg
4 | https://i.pinimg.com/originals/08/fd/8f/08fd8f049b790e1666713da3db2396fd.png
5 | https://i.pinimg.com/originals/5b/4d/3c/5b4d3c16ff93c5924fa6486519b675aa.jpg
6 | https://i.pinimg.com/originals/f2/95/42/f295423c8168af259ccb5f2acefaff1b.jpg
7 | https://i.pinimg.com/originals/c7/33/ce/c733ce7a89e3376e2e99e1988ae0416b.jpg
8 | https://i.pinimg.com/originals/92/73/44/927344aff0050e7214eff46d173967ec.jpg
9 | https://i.pinimg.com/originals/7b/16/df/7b16dfd42ce3f77522529365a8693ae6.jpg
10 | https://i.pinimg.com/originals/40/7c/1f/407c1ff2f73a327e17a366f84671d91e.jpg
11 | https://i.pinimg.com/originals/5c/ec/37/5cec3735d5ca352ac374eeaf10d0038f.jpg
12 | https://i.pinimg.com/originals/dc/95/9c/dc959c36c13f673056eb8899b1447551.jpg
13 | https://i.pinimg.com/originals/ec/57/a7/ec57a7ba11031e143b222c006235c2e4.jpg
14 | https://i.pinimg.com/originals/1d/b3/1e/1db31ecd2d58a2081fd85f201e8ba399.jpg
15 | https://i.pinimg.com/originals/d0/cd/2c/d0cd2c187f3c1c8748bd96631c1e5d00.jpg
16 | https://i.pinimg.com/originals/e5/52/e2/e552e29b43dd71ffd669fc73a13fcad4.jpg
17 | https://i.pinimg.com/originals/92/d8/c5/92d8c5f6f481747ab2d7645f2ef6b229.jpg
18 | https://i.pinimg.com/originals/f5/8c/d2/f58cd2b5806d80e7dd9b17e74df973ed.jpg
19 | https://i.pinimg.com/originals/63/e4/80/63e480ed67a44cc849e7d5cde18c73ef.jpg
20 | https://i.pinimg.com/originals/00/85/08/00850896f6fc90f95e7842dd01e0fd62.jpg
21 | https://i.pinimg.com/originals/0a/76/ce/0a76cebd989ceb8b7bef91fc84c5ac78.jpg
22 | https://i.pinimg.com/originals/dd/dc/02/dddc02414cefab0f5f009d73dc0c3431.jpg
23 | https://i.pinimg.com/originals/51/ea/16/51ea1678e225e5349be1d7515fb030c8.jpg
24 | https://i.pinimg.com/originals/74/4f/12/744f125cd6f78929737f573c55a9a6d4.jpg
25 | https://i.pinimg.com/originals/e8/ca/2f/e8ca2f775fd9ac9bd4d601c80ba9edab.jpg
26 | https://i.pinimg.com/originals/9d/dd/95/9ddd958462d7af0413985931b377cbee.jpg
27 | https://i.pinimg.com/originals/1b/fd/49/1bfd49d7fe6e976339252bc97e3c48e1.jpg
28 | https://i.pinimg.com/originals/6b/9d/ed/6b9ded92b2928c6345b391558a159d20.jpg
29 | https://i.pinimg.com/originals/f3/68/fa/f368fa2dc4d529fd0c3f98a4460f1b43.jpg
30 | https://i.pinimg.com/originals/00/bf/1f/00bf1fe39a252fd39ad45776c643b819.jpg
31 | https://i.pinimg.com/originals/86/7f/00/867f0064325224a2e58a0c7da65c09af.jpg
32 | https://i.pinimg.com/originals/92/25/98/922598da08af85de47a8b3ca5a109a62.png
33 | https://i.pinimg.com/originals/c6/6d/40/c66d404bf9e6664c18a04f1472de83e9.jpg
34 | https://i.pinimg.com/originals/8e/34/8f/8e348f6f2590ee75bc5672f12fae858c.jpg
35 | https://i.pinimg.com/originals/40/2d/f0/402df0219330e7cd0788ec4e4fecad04.jpg
36 | https://i.pinimg.com/originals/a7/4e/a5/a74ea5211dfeed371fddbe7b39b03785.jpg
37 | https://i.pinimg.com/originals/00/71/ba/0071bada0de4fc59afeb2526e5d341b4.png
38 | https://i.pinimg.com/originals/30/33/ef/3033efed9c5214e54ac67afa42886983.png
39 | https://i.pinimg.com/originals/0c/f8/a5/0cf8a59aeddc1c8c3699333d4ea50e38.jpg
40 | https://i.pinimg.com/originals/e5/1b/89/e51b898d2de941ca41c8d11dead6cf71.jpg
41 | https://i.pinimg.com/originals/98/25/4f/98254fa6c142314fb25ebd892484a7e5.jpg
42 | https://i.pinimg.com/originals/93/d0/b1/93d0b17e0459a8ca928e5f886abb2d0c.jpg
43 | https://i.pinimg.com/originals/d2/33/97/d2339772568a3d348d9ebedf4143d66a.jpg
44 | https://i.pinimg.com/originals/b7/3d/2b/b73d2b89c50def2dd26868b0c664abc6.png
45 | https://i.pinimg.com/originals/cc/c3/ea/ccc3ea05d34fdc434e64240c81e7c7e0.jpg
46 | https://i.pinimg.com/originals/5d/99/11/5d991124a92f6be7f33e9da4350a8094.jpg
47 | https://i.pinimg.com/originals/4f/41/3f/4f413fde71bf1d1995b3f19144bcec87.jpg
48 | https://i.pinimg.com/originals/b2/88/8f/b2888f2f7da853f0c8aeb61327595d42.jpg
49 | https://i.pinimg.com/originals/28/f6/08/28f6083b284fd7f2211a95e84a4d6ce5.jpg
50 | https://i.pinimg.com/originals/1a/61/4b/1a614b939d6da368a319bfcb7b65f670.png
51 | https://i.pinimg.com/originals/42/51/63/425163ee0a36fe3e2f38d8b950674daf.jpg
52 | https://i.pinimg.com/originals/0f/71/3d/0f713d539a84035f531a7236e8042e94.jpg
53 | https://i.pinimg.com/originals/74/82/03/7482030c89104e4e2945987330ac5498.png
54 | https://i.pinimg.com/originals/8b/78/8c/8b788ced48d8c01c608f26eb0db50b26.jpg
55 | https://i.pinimg.com/originals/8c/af/d2/8cafd2288610b29ad2584546a4dc92fa.jpg
56 | https://i.pinimg.com/originals/4b/d7/7c/4bd77cf2861a066ec3737e1217bc725e.jpg
57 | https://i.pinimg.com/originals/63/3c/78/633c7833cdfc306ce97f9a4eddf04be7.jpg
58 | https://i.pinimg.com/originals/be/7e/c3/be7ec332fd4431982fad18d8f7c3cf0d.jpg
59 | https://i.pinimg.com/originals/f4/31/67/f43167866d199ff61904670bcc83cc9c.jpg
60 | https://i.pinimg.com/originals/f2/95/42/f295423c8168af259ccb5f2acefaff1b.jpg
61 | https://i.pinimg.com/originals/cd/4d/02/cd4d026038988b7761eea52f63e6b454.png
62 | https://i.pinimg.com/originals/ad/36/27/ad3627193edbc882ba2e81e941f2fcb1.jpg
63 | https://i.pinimg.com/originals/59/97/7d/59977dd2811f76dffc6d2d76ee4fe6c1.jpg
64 | https://i.pinimg.com/originals/21/4f/f8/214ff8247de32c1dad6d7867b72ae587.jpg
65 | https://i.pinimg.com/originals/50/4a/00/504a003c1d35426946c9bf10a4b50322.jpg
66 | https://i.pinimg.com/originals/fb/85/68/fb8568e331629abb0809a5d5fd8021be.png
67 | https://i.pinimg.com/originals/70/11/1d/70111d48da5f1a80255935d519bc48f0.jpg
68 | https://i.pinimg.com/originals/d7/cf/36/d7cf364fa0630cf22a332fa89358a98c.jpg
69 | https://i.pinimg.com/originals/4a/32/ae/4a32aea32cda962b7c94d50dc02e7a5a.jpg
70 | https://i.pinimg.com/originals/c5/d9/94/c5d994bf34b265fadcbc56025ce9d50d.jpg
71 | https://i.pinimg.com/originals/da/e4/5f/dae45f01b319caf2bf05bdcd2ce9ec14.jpg
72 | https://i.pinimg.com/originals/9c/6b/08/9c6b08ccf136deac18df1d221010688c.jpg
73 | https://i.pinimg.com/originals/14/e0/1e/14e01edd089b5f8abc484879da89f69e.jpg
74 | https://i.pinimg.com/originals/95/f5/3f/95f53f18c44f7ff6462fe750ddeb3a3e.jpg
75 | https://i.pinimg.com/originals/c0/8e/6d/c08e6d15025cee7745d2115a32066a88.jpg
76 | https://i.pinimg.com/originals/26/40/50/2640500cfab8bbb9d24996327850f2ef.jpg
77 | https://i.pinimg.com/originals/81/de/91/81de9194b40ed497408429398b587186.jpg
78 | https://i.pinimg.com/originals/9e/b9/0a/9eb90a839c3bf58632637e7fb8384497.jpg
79 | https://i.pinimg.com/originals/57/58/70/5758705efbc448655baec384f0520f56.jpg
80 | https://i.pinimg.com/originals/1c/2f/23/1c2f233f01b6eb5b7b29dea0f3917b48.png
81 | https://i.pinimg.com/originals/06/a1/a7/06a1a72841ea4942b8a5226aa2b21ae6.jpg
82 | https://i.pinimg.com/originals/d8/bc/bc/d8bcbc5e74cbcfd610f3668a8e7f3fe4.jpg
83 | https://i.pinimg.com/originals/48/cd/26/48cd260f72922df0caba73fe8ac3572e.jpg
84 | https://i.pinimg.com/originals/23/ef/cf/23efcf02f1ac464ef3688cccf219b302.jpg
85 | https://i.pinimg.com/originals/83/2f/0f/832f0f8d5adf929e6ef6be9fa6f083d0.png
86 | https://i.pinimg.com/originals/6e/8b/02/6e8b025c8888cb6589151f0dbcf569d0.jpg
87 | https://i.pinimg.com/originals/7f/16/b0/7f16b05ab6cde6ac98402ca105bf3401.jpg
88 | https://i.pinimg.com/originals/83/b5/7b/83b57b9cb5c0b599da8e6c7515ffd599.jpg
89 | https://i.pinimg.com/originals/04/89/d3/0489d39dd3a5656656144736ce3662b7.jpg
90 | https://i.pinimg.com/originals/d6/11/d2/d611d2669573256d9862392a20f57e7f.png
91 | https://i.pinimg.com/originals/c2/98/cf/c298cf565da845f6485bc544cb4a7603.jpg
92 | https://i.pinimg.com/originals/25/66/5f/25665fb52cee8c6417ef70c70075cf52.jpg
93 | https://i.pinimg.com/originals/94/91/96/949196b6ec53ad06a0e5d89edd8a4fca.jpg
94 | https://i.pinimg.com/originals/c8/39/07/c839075e8a66afb5f3f784bc89c0744e.jpg
95 | https://i.pinimg.com/originals/41/c0/82/41c082a4d12f5d26c4a87d0e8b4a6ca0.jpg
96 | https://i.pinimg.com/originals/5e/31/b3/5e31b3bf1b31fe265021559acce88ba8.jpg
97 | https://i.pinimg.com/originals/6d/5a/e5/6d5ae5994b4b3da25559192a3e1160eb.jpg
98 | https://i.pinimg.com/originals/02/1c/07/021c07431026a37962e33e4d38c50481.png
99 | https://i.pinimg.com/originals/07/46/9d/07469d6936926103df4bc8824bc59fc8.jpg
100 | https://i.pinimg.com/originals/f4/fa/ad/f4faad335bc6296977cbbade347d1094.jpg
101 |
--------------------------------------------------------------------------------
/lib/repeat.json:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/lib/setting.json:
--------------------------------------------------------------------------------
1 | {
2 | "sAdmin": "6285559038021@c.us",
3 | "restartState": false,
4 | "restartId": "undefined",
5 | "banChats": false,
6 | "Rest": true,
7 | "limitCount": 30,
8 | "memberLimit": 25,
9 | "groupLimit": 25,
10 | "prefix": "!",
11 | "mtc": false,
12 | "whitelist": []
13 | }
--------------------------------------------------------------------------------
/lib/sewa_bot.json:
--------------------------------------------------------------------------------
1 | [
2 | "27731052724-1606073820@g.us",
3 | "6285796782622-1599401714@g.us",
4 | "6285340137116-1604642870@g.us",
5 | "6281288606414-1602045119@g.us",
6 | "18092566068-1607055744@g.us",
7 | "6289523258649-1604595598@g.us",
8 | "6288233282599-1601304366@g.us",
9 | "6288238221335-1599454500@g.us",
10 | "6289523731135-1607173666@g.us",
11 | "6285559038021-1603588233@g.us",
12 | "966572592040-1607332739@g.us",
13 | "6285382455124-1603093165@g.us",
14 | "6282164942592-1593576164@g.us",
15 | "6281339263184-1602325813@g.us",
16 | "6288279620103-1585830877@g.us",
17 | "27632122007-1608630746@g.us",
18 | "27798047077-1596577393@g.us",
19 | "6281584142535-1599968792@g.us",
20 | "447393449331-1606402794@g.us",
21 | "27727649602-1597074742@g.us",
22 | "6289502799316-1605194459@g.us",
23 | "6285559038021-1605869468@g.us",
24 | "6289628310364-1591412063@g.us",
25 | "6281776952371-1588857268@g.us",
26 | "6288258030557-1597672927@g.us",
27 | "6287723637392-1608550210@g.us",
28 | "6283142321131-1609239189@g.us",
29 | "6289652018855-1608729648@g.us",
30 | "919025374268-1606401934@g.us",
31 | "6285156902925-1594041349@g.us",
32 | "6285721733043-1609557240@g.us",
33 | "6285860637879-1606305531@g.us",
34 | "6283805191681-1604633071@g.us",
35 | "6285883786063-1609034899@g.us",
36 | {
37 | "id": "27632122007-1608630746@g.us",
38 | "nama": "⛓️✨ hip hop world✨⛓️",
39 | "count": "10"
40 | }
41 | ]
--------------------------------------------------------------------------------
/lib/shortener.js:
--------------------------------------------------------------------------------
1 | const fetch = require('node-fetch')
2 |
3 | module.exports = shortener = (url) => {
4 | return new Promise(async (resolve, reject) => {
5 | // console.log('Creating short url...')
6 | await fetch(`https://tinyurl.com/api-create.php?url=${url}`)
7 | .then(response => response.text())
8 | .then(json => {
9 | resolve(json)
10 | })
11 | .catch((err) => {
12 | reject(err)
13 | });
14 | })
15 | };
--------------------------------------------------------------------------------
/lib/tikel_makel.js:
--------------------------------------------------------------------------------
1 | const fetch = require('node-fetch')
2 |
3 | const BikinTikel = (link) => new Promise((resolve, reject) => {
4 | fetch('http://api.areltiyan.site/sticker_maker?text='+encodeURIComponent(link), {
5 | method: 'GET',
6 | })
7 | .then(async res => {
8 | const text = await res.json()
9 | resolve(text)
10 | })
11 | .catch(err => reject(err))
12 | });
13 | exports.BikinTikel = BikinTikel
--------------------------------------------------------------------------------
/lib/tiktod.js:
--------------------------------------------------------------------------------
1 | const tiktok = require('tiktok-scraper')
2 | const { exec } = require('child_process')
3 |
4 | // const url = 'https://vt.tiktok.com/ZSsY7d9S/'
5 |
6 | function tiktod(url) {
7 | return new Promise((resolve, reject) => {
8 | try {
9 | tiktok.getVideoMeta(url)
10 | .then((result) => {
11 | const data = result.collector[0]
12 | let Tag = []
13 | for (let i = 0; i < data.hashtags.length; i++) {
14 | const name = data.hashtags[i].name
15 | Tag.push(name)
16 | }
17 | // console.log(data)
18 | const id = data.id
19 | const text = data.text
20 | const date = data.createTime
21 | const name = data.authorMeta.name
22 | const nick = data.authorMeta.nickName
23 | const music = data.musicMeta.musicName
24 | const thumb = data.imageUrl
25 | const hastag = Tag
26 |
27 | resolve({
28 | id: id,
29 | name: name,
30 | nickname: nick,
31 | timestamp: date,
32 | thumb: thumb,
33 | text: text,
34 | music: music,
35 | hastag: hastag
36 | })
37 | })
38 | .catch(reject)
39 | } catch (error) {
40 | console.log(error)
41 | }
42 | })
43 | }
44 |
45 | module.exports.tiktod = tiktod
--------------------------------------------------------------------------------
/lib/translate.js:
--------------------------------------------------------------------------------
1 | const { default: translate } = require('google-translate-open-api')
2 |
3 | /**
4 | * Translate Text
5 | * @param {String} text
6 | * @param {String} lang
7 | */
8 |
9 | module.exports = doing = (text, lang) => new Promise((resolve, reject) => {
10 | console.log(`Translate text to ${lang}...`)
11 | translate(text, { tld: 'cn', to: lang })
12 | .then((text) => resolve(text.data[0]))
13 | .catch((err) => reject(err))
14 | })
15 |
--------------------------------------------------------------------------------
/lib/vip.json:
--------------------------------------------------------------------------------
1 | ["6285559038021@c.us"]
--------------------------------------------------------------------------------
/lib/welcome.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs-extra')
2 |
3 | module.exports = welcome = async (client, event) => {
4 | //console.log(event.action)
5 | const welkom = JSON.parse(fs.readFileSync('./lib/welcome.json'))
6 | const isWelkom = welkom.includes(event.chat)
7 | try {
8 | if (event.action == 'add' && isWelkom) {
9 | const gChat = await client.getChatById(event.chat)
10 | const pChat = await client.getContact(event.who)
11 | const { contact, groupMetadata, name } = gChat
12 | const pepe = await client.getProfilePicFromServer(event.who)
13 | const capt = `Halo member baru👋, Welcome to group *${name}* selamat bergabung dan juga semoga betah disini.`
14 | if (pepe == '' || pepe == undefined) {
15 | await client.sendFileFromUrl(event.chat, 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTQcODjk7AcA4wb_9OLzoeAdpGwmkJqOYxEBA&usqp=CAU', 'profile.jpg', capt)
16 | } else {
17 | await client.sendFileFromUrl(event.chat, pepe, 'profile.jpg', capt)
18 | }
19 |
20 | }
21 | } catch (err) {
22 | console.log(err)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/lib/welcome.json:
--------------------------------------------------------------------------------
1 | ["6282281088789-1606212160@g.us","6282281088789-1606212160@g.us","6282281088789-1606212160@g.us","6281267536856-1598621588@g.us","6282385044446-1600663083@g.us","62895321217901-1595865261@g.us","6282281088789-1606212160@g.us","6282281088789-1606212160@g.us","6281245672346-1597324061@g.us","6285216490187-1558621310@g.us","6282281088789-1606444360@g.us","6285738845813-1604213967@g.us","6285738845813-1604213967@g.us","6285738845813-1604213967@g.us","6285738845813-1604213967@g.us","6288276539599-1605067578@g.us","6288276539599-1605067578@g.us","6288276539599-1605067578@g.us","6288276539599-1605067578@g.us","6288276539599-1605067578@g.us","62877166127360-1606545250@g.us","62877166127360-1606545250@g.us","6288276539599-1605067578@g.us","6283801142336-1603720043@g.us","6282247827347-1600514720@g.us","6288276539599-1605067578@g.us","6282281088789-1606212160@g.us","6288276539599-1605067578@g.us","6281946983575-1600418180@g.us","6282385044446-1600663083@g.us","6282244703558-1567690168@g.us","263773697172-1599303842@g.us","263773697172-1599303842@g.us","6285738845813-1604213967@g.us","6282244703558-1567690168@g.us","6285796782622-1599401714@g.us","6282385044446-1600663083@g.us","6289503455787-1601473776@g.us","6285232203745-1602849375@g.us","6289628310364-1591412063@g.us","62895321217901-1595865261@g.us","27731052724-1606073820@g.us","27731052724-1606073820@g.us","6285216810127-1602212654@g.us","6285340137116-1604642870@g.us","6281288606414-1602045119@g.us","6288233282599-1601304366@g.us","6289628310364-1591412063@g.us","6289628310364-1591412063@g.us","6289503455787-1601473776@g.us","6288238221335-1599454500@g.us","6281292263792-1606878236@g.us","6283801142336-1603720043@g.us","6285340137116-1604642870@g.us","6281292263792-1606878236@g.us","6281292263792-1606878236@g.us","6281291165261-1607413156@g.us","18123285271-1607405017@g.us","6281336286149-1607486309@g.us","6288292047176-1595334930@g.us","6285333817061-1602076017@g.us","6281292263792-1606878236@g.us","6281339263184-1602325813@g.us","6281339263184-1602325813@g.us","6281339263184-1602325813@g.us","6285706644628-1574845854@g.us","6282239506212-1601897780@g.us","6288292047176-1595334930@g.us","6281236755657-1608091070@g.us","6283803956685-1603183513@g.us","6289628310364-1591412063@g.us","6281213089927-1607788140@g.us","6281236755657-1608091070@g.us","6281776952371-1588857268@g.us","6289526924934-1608943263@g.us","6289526924934-1608943263@g.us","6282171309945-1608683575@g.us","6282171309945-1608683575@g.us","6288295863159-1604820077@g.us","6288295863159-1604820077@g.us","6289652018855-1608729648@g.us","6285378968459-1609249959@g.us","6285378968459-1607395988@g.us","6283142321131-1609239189@g.us","6283142321131-1609239189@g.us","6285860637879-1606305531@g.us","6283142321131-1609239189@g.us","6289652018855-1608729648@g.us","6289652018855-1608729648@g.us","6289617354652-1605319669@g.us","6282268305363-1609405880@g.us","6288295863159-1604820077@g.us","6289638302977-1600751890@g.us","6289638302977-1600751890@g.us","6282117048795-1591949033@g.us","6282117048795-1591949033@g.us","6288276274179-1604215866@g.us","6281547371314-1602209363@g.us","6281547371314-1602209363@g.us","6285721733043-1609557240@g.us","6281213089927-1607788140@g.us"]
--------------------------------------------------------------------------------
/lib/ytdl.js:
--------------------------------------------------------------------------------
1 | const fetch = require('node-fetch')
2 | const { JSDOM } = require('jsdom')
3 | const fs = require('fs')
4 | const os = require('os')
5 | const path = require('path')
6 | const util = require('util')
7 | const moment = require('moment-timezone')
8 | const time = moment().format('DD/MM HH:mm:ss')
9 | const color = require('./color')
10 | const { Readable, Writable } = require('stream')
11 |
12 | const ytIdRegex = /(?:http(?:s|):\/\/|)(?:(?:www\.|)youtube(?:\-nocookie|)\.com\/(?:watch\?.*(?:|\&)v=|embed\/|v\/)|youtu\.be\/)([-_0-9A-Za-z]{11})/
13 |
14 | function INFOLOG(info) {
15 | return console.log('\x1b[1;34m~\x1b[1;37m>>', '[\x1b[1;33mINF\x1b[1;37m]', time, color(info))
16 | }
17 |
18 | function post(url, formdata) {
19 | INFOLOG(Object.keys(formdata).map(key => `${key}=${encodeURIComponent(formdata[key])}`).join('&'))
20 | return fetch(url, {
21 | method: 'POST',
22 | headers: {
23 | accept: "*/*",
24 | 'accept-language': "en-US,en;q=0.9",
25 | 'content-type': "application/x-www-form-urlencoded; charset=UTF-8"
26 | },
27 | body: Object.keys(formdata).map(key => `${key}=${encodeURIComponent(formdata[key])}`).join('&')
28 | })
29 | }
30 |
31 | function ytv(url) {
32 | return new Promise((resolve, reject) => {
33 | if (ytIdRegex.test(url)) {
34 | let ytId = ytIdRegex.exec(url)
35 | url = 'https://youtu.be/' + ytId[1]
36 | post('https://www.y2mate.com/mates/en60/analyze/ajax', {
37 | url,
38 | q_auto: 0,
39 | ajax: 1
40 | })
41 | .then(res => res.json())
42 | .then(res => {
43 | INFOLOG('Scraping...')
44 | document = (new JSDOM(res.result)).window.document
45 | yaha = document.querySelectorAll('td')
46 | filesize = yaha[yaha.length - 23].innerHTML
47 | id = /var k__id = "(.*?)"/.exec(document.body.innerHTML) || ['', '']
48 | thumb = document.querySelector('img').src
49 | title = document.querySelector('b').innerHTML
50 |
51 | post('https://www.y2mate.com/mates/en60/convert', {
52 | type: 'youtube',
53 | _id: id[1],
54 | v_id: ytId[1],
55 | ajax: '1',
56 | token: '',
57 | ftype: 'mp4',
58 | fquality: 360
59 | })
60 | .then(res => res.json())
61 | .then(res => {
62 | let KB = parseFloat(filesize) * (1000 * /MB$/.test(filesize))
63 | resolve({
64 | dl_link: / {
78 | if (ytIdRegex.test(url)) {
79 | let ytId = ytIdRegex.exec(url)
80 | url = 'https://youtu.be/' + ytId[1]
81 | post('https://www.y2mate.com/mates/en60/analyze/ajax', {
82 | url,
83 | q_auto: 0,
84 | ajax: 1
85 | })
86 | .then(res => res.json())
87 | .then(res => {
88 | let document = (new JSDOM(res.result)).window.document
89 | let type = document.querySelectorAll('td')
90 | let filesize = type[type.length - 10].innerHTML
91 | let id = /var k__id = "(.*?)"/.exec(document.body.innerHTML) || ['', '']
92 | let thumb = document.querySelector('img').src
93 | let title = document.querySelector('b').innerHTML
94 |
95 | post('https://www.y2mate.com/mates/en60/convert', {
96 | type: 'youtube',
97 | _id: id[1],
98 | v_id: ytId[1],
99 | ajax: '1',
100 | token: '',
101 | ftype: 'mp3',
102 | fquality: 128
103 | })
104 | .then(res => res.json())
105 | .then(res => {
106 | let KB = parseFloat(filesize) * (1000 * /MB$/.test(filesize))
107 | resolve({
108 | dl_link: /}
202 | */
203 | function stream2Buffer(cb = noop) {
204 | return new Promise(resolve => {
205 | let write = new Writable()
206 | write.data = []
207 | write.write = function (chunk) {
208 | this.data.push(chunk)
209 | }
210 | write.on('finish', function () {
211 | resolve(Buffer.concat(this.data))
212 | })
213 |
214 | cb(write)
215 | })
216 | }
217 |
218 | /**
219 | * Convert Buffer to Readable Stream
220 | * @param {Buffer} buffer
221 | * @returns {ReadableStream}
222 | */
223 | function buffer2Stream(buffer) {
224 | return new Readable({
225 | read() {
226 | this.push(buffer)
227 | this.push(null)
228 | }
229 | })
230 | }
231 |
232 | /**
233 | * No Operation
234 | * */
235 | function noop() { }
236 |
237 | module.exports.baseURI = baseURI
238 | module.exports.ytsr = ytsr
239 | module.exports.yta = yta
240 | module.exports.ytv = ytv
241 | module.exports.buffer2Stream = buffer2Stream
242 | module.exports.stream2Buffer = stream2Buffer
243 | module.exports.noop = noop
--------------------------------------------------------------------------------
/media/CSstik.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/CSstik.png
--------------------------------------------------------------------------------
/media/DGC.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/DGC.jpg
--------------------------------------------------------------------------------
/media/Freedom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/Freedom.png
--------------------------------------------------------------------------------
/media/adzan/adzan_bayati.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/adzan/adzan_bayati.mp3
--------------------------------------------------------------------------------
/media/adzan/magrib_bdg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/adzan/magrib_bdg.jpg
--------------------------------------------------------------------------------
/media/adzan/shubuh_bdg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/adzan/shubuh_bdg.png
--------------------------------------------------------------------------------
/media/aswu-stik.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/aswu-stik.jpeg
--------------------------------------------------------------------------------
/media/aswu.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/aswu.jpeg
--------------------------------------------------------------------------------
/media/aswu.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/aswu.mp4
--------------------------------------------------------------------------------
/media/freedom-qris.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/freedom-qris.jpeg
--------------------------------------------------------------------------------
/media/gifstik.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/gifstik.mp4
--------------------------------------------------------------------------------
/media/img/Kaguya.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/Kaguya.png
--------------------------------------------------------------------------------
/media/img/after.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/after.jpg
--------------------------------------------------------------------------------
/media/img/before.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/before.jpg
--------------------------------------------------------------------------------
/media/img/dgc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/dgc.jpg
--------------------------------------------------------------------------------
/media/img/nimek.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/nimek.jpg
--------------------------------------------------------------------------------
/media/img/nulez.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/nulez.jpg
--------------------------------------------------------------------------------
/media/img/screenshot.jpeg:
--------------------------------------------------------------------------------
1 | Maximum api call count reached.
--------------------------------------------------------------------------------
/media/img/tes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/tes.jpg
--------------------------------------------------------------------------------
/media/img/tutod.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/img/tutod.jpg
--------------------------------------------------------------------------------
/media/imgscale.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/imgscale.jpeg
--------------------------------------------------------------------------------
/media/mp3yt/mp3nya.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/mp3yt/mp3nya.mp3
--------------------------------------------------------------------------------
/media/nyanyi/botnyanyi.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/nyanyi/botnyanyi.mp3
--------------------------------------------------------------------------------
/media/output-aa.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/output-aa.gif
--------------------------------------------------------------------------------
/media/output-stik.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/output-stik.jpeg
--------------------------------------------------------------------------------
/media/output.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/output.gif
--------------------------------------------------------------------------------
/media/outputne.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/outputne.jpeg
--------------------------------------------------------------------------------
/media/saved_stickers/Baushsns.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/Baushsns.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/DOIAING.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/DOIAING.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/Gass yuk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/Gass yuk.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/JUST4FUN😎.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/JUST4FUN😎.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/Kucing 1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/Kucing 1.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/Marah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/Marah.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/Zikran Tolol.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/Zikran Tolol.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/abdillah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/abdillah.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/bagi dua.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/bagi dua.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/bay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/bay.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/bokep.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/bokep.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/ciw.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/ciw.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/ciwi ciwi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/ciwi ciwi.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/ehan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/ehan.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/gurl.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/gurl.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/hadeh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/hadeh.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/hoo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/hoo.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/isi cakra.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/isi cakra.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/jadi sunda.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/jadi sunda.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/kamui.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/kamui.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/kaseglom.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/kaseglom.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/kat soak.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/kat soak.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/kat whoah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/kat whoah.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/ko tol.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/ko tol.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/lauk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/lauk.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/marea.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/marea.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/milik kita.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/milik kita.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/mr beans.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/mr beans.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/mumut.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/mumut.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/nibba.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/nibba.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/pacaran ga perlu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/pacaran ga perlu.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/packk.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/packk.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/pat botol.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/pat botol.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/pat hekel.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/pat hekel.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/pat rik.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/pat rik.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/pattt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/pattt.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/saddd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/saddd.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/salah.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/salah.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/so sad.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/so sad.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/sule.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/sule.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/tapi boong.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/tapi boong.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/test.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/thaqq.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/thaqq.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/ucok.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/ucok.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/uhhh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/uhhh.jpg
--------------------------------------------------------------------------------
/media/saved_stickers/wazowski.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/saved_stickers/wazowski.jpg
--------------------------------------------------------------------------------
/media/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/screenshot.png
--------------------------------------------------------------------------------
/media/sound/DGC-Sound.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/sound/DGC-Sound.mp3
--------------------------------------------------------------------------------
/media/sound/Dgc-sound-mut.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/sound/Dgc-sound-mut.mp3
--------------------------------------------------------------------------------
/media/suit/batu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/suit/batu.png
--------------------------------------------------------------------------------
/media/suit/gunting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/suit/gunting.png
--------------------------------------------------------------------------------
/media/suit/kertas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/suit/kertas.png
--------------------------------------------------------------------------------
/media/tts/nope.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/media/tts/resAr.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/resAr.mp3
--------------------------------------------------------------------------------
/media/tts/resEn.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/resEn.mp3
--------------------------------------------------------------------------------
/media/tts/resId.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/resId.mp3
--------------------------------------------------------------------------------
/media/tts/resJp.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/resJp.mp3
--------------------------------------------------------------------------------
/media/tts/resRu.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/resRu.mp3
--------------------------------------------------------------------------------
/media/tts/tts.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/media/tts/tts.mp3
--------------------------------------------------------------------------------
/msgHndlr.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MRHRTZ/DGC-ChatBotV3/8a4e23464617981e6048ad1b09e409b5f8fdc5e2/msgHndlr.rar
--------------------------------------------------------------------------------
/nandaz.data.json:
--------------------------------------------------------------------------------
1 | eyJXQUJyb3dzZXJJZCI6IlwieWNqUnQ3RHB3b0JWNSt0TlUzNGJjdz09XCIiLCJXQVNlY3JldEJ1bmRsZSI6IntcImtleVwiOlwiNFVTa29kMmhRWEl0V2drMjVYN0ExRjJmWTFzSHh5OTc1MjlHQ1VVbUhIZz1cIixcImVuY0tleVwiOlwicCs0cUxvOU9zdU55VnBuSStkVTBvMStNMVhJKzBJelNOSE1XWFNXdy9Jcz1cIixcIm1hY0tleVwiOlwiNFVTa29kMmhRWEl0V2drMjVYN0ExRjJmWTFzSHh5OTc1MjlHQ1VVbUhIZz1cIn0iLCJXQVRva2VuMSI6IlwiZ1Uzck9aNDhZVXB5aXRqd2YxUlVaTGc4YnR2ckpYTjF3clBMcWd6b1Y0ND1cIiIsIldBVG9rZW4yIjoiXCIxQDcrQ3VWVk1BdktwLzNOQlM0NGpWS2F1cVgvZ0xvZ1NVUHhFSGVvMUxySWxqSC95c2d5UFpMMExQQlVRMElObWkwTkZTcml3TmN6Y0M0dz09XCIifQ==
--------------------------------------------------------------------------------
/newbot.js:
--------------------------------------------------------------------------------
1 | const wa = require('@open-wa/wa-automate')
2 | const { ev } = require('@open-wa/wa-automate')
3 | const welcome = require('./lib/welcome')
4 | const fs = require('fs-extra')
5 | const welcomeF = require('./lib/freedom')
6 | const color = require('./lib/color')
7 | const welcomeD = require('./lib/dmff')
8 | const moment = require('moment-timezone')
9 | //const msgHandler = require('./msgHndlr')
10 | const options = require('./options')
11 |
12 | //let setting = JSON.parse(fs.readFileSync('./lib/config.json'));
13 | //let {prefix, banChats, restartState: isRestart,mtc: mtcState, whitelist ,sAdmin, limitCount, memberLimit, groupLimit} = setting
14 | const sesi = process.argv[2] ? process.argv[2] : "MRHRTZ"
15 |
16 | moment.tz.setDefault('Asia/Jakarta').locale('id')
17 | const time = moment().format('DD/MM HH:mm:ss')
18 | // Cache handler and check for file change
19 | function INFOLOG(info) {
20 | return console.log('\x1b[1;31m~\x1b[1;37m>>', '[\x1b[1;33mINFO\x1b[1;37m]', time, color(info))
21 | }
22 |
23 | require('./msgHndlr')
24 | nocache('./msgHndlr', module => INFOLOG(`${module} Telah diupdate!`))
25 |
26 | const start = async (hurtz = new Hurtz()) => {
27 | console.log('[SERVER] Server Started!')
28 | // Force it to keep the current session
29 | hurtz.onStateChanged(state=>{
30 | // console.log('statechanged', state)
31 | INFOLOG(`Status berubah ${state}`)
32 | if(state==="CONFLICT" || state==="UNLAUNCHED") hurtz.forceRefocus();
33 | })
34 | // cron.schedule('* * * * *', () => {
35 | // const obj = [{id: sAdmin, msg: 1}]
36 | // msgLimit = obj
37 | // fs.writeFileSync('./lib/msgLimit.json', JSON.stringify(obj))
38 | // });
39 |
40 | // listening on message
41 |
42 |
43 | hurtz.onMessage((async (message) => {
44 | hurtz.getAmountOfLoadedMessages()
45 | .then((msg) => {
46 | if (msg >= 500) {
47 | hurtz.cutMsgCache()
48 | }
49 | })
50 | // msgHandler(hurtz, message)
51 | // Message Handler (Loaded from recent cache)
52 | require('./msgHndlr')(hurtz, message)
53 | }))
54 |
55 | hurtz.onGlobalParicipantsChanged((async (xixi) => {
56 | // await welcome(hurtz, xixi)
57 | //left(hurtz, heuh)
58 | if (xixi.action == 'remove' || xixi.action == 'leave') {
59 | hurtz.sendTextWithMentions(chat.id, `Semoga tenang dialam sana @${xixi.who} 😊`)
60 | } else if (xixi.action == 'add') {
61 | hurtz.sendTextWithMentions(chat.id, `Welcome new mem @${xixi.who} :)`)
62 | }
63 | console.log(xixi.action+'ing'+' '+xixi.who)
64 | }))
65 |
66 | hurtz.onAddedToGroup((async (chat) => {
67 | // const whitelist = ["6285216490187-1558621310@g.us","6285559038021-1603688917@g.us"]
68 | // if (sender.id === '6285559038021@c.us') return
69 | // let totalMem = await chat.groupMetadata.participants.length
70 | // if (totalMem < 20) {
71 | // hurtz.sendText(chat.id, `Yaampun member nya cuma ${totalMem}, Kalo mau invite bot, minimal jumlah mem ada 20 atau chat owner!`).then(() => hurtz.leaveGroup(chat.id)).then(() => hurtz.deleteChat(chat.id))
72 | // } else {
73 | // hurtz.sendText(chat.groupMetadata.id, `Halo warga grup *${chat.contact.name}* terimakasih sudah menginvite bot ini, untuk melihat menu silahkan kirim *!menu*`)
74 | // }
75 | // if (!whitelist.include(chat.id)) {
76 | hurtz.sendText(chat.id, `Berhubungan Server terbatas bot ini hanya untuk grup DGC dan cabangnya!\n\nJika ada pihak yang membutuhkan bot ini untuk digrup donasi dan konfirmasi owner bot\n\nterima kasih.`)
77 | .then(() => hurtz.sendContact(chat.id, '6285559038021@c.us'))
78 | .then(() => hurtz.leaveGroup(chat.id))
79 | .then(() => hurtz.deleteChat(chat.id))
80 | // } else {
81 | // hurtz.sendText(chat.id, `Halo semua DGC ChatBot siap melayani semuanya, kecuali klo mati :'D`)
82 | // }
83 | }))
84 |
85 |
86 | /*hurtz.onAck((x => {
87 | const { from, to, ack } = x
88 | if (x !== 3) hurtz.sendSeen(to)
89 | }))*/
90 |
91 | // listening on Incoming Call
92 | hurtz.onIncomingCall(( async (call) => {
93 | await hurtz.sendText(call.peerJid, 'Maaf, saya tidak bisa menerima panggilan. Telah ditetapkan telpon/vc = block')
94 | .then(() => hurtz.contactBlock(call.peerJid))
95 | }))
96 | }
97 |
98 |
99 | /**
100 | * uncache if there is file change
101 | * @param {string} module module name or path
102 | * @param {function} cb when module updated
103 | */
104 | function nocache(module, cb = () => { }) {
105 | console.log('Module', `'${module}'`, 'is now being watched for changes')
106 | require('fs').watchFile(require.resolve(module), async () => {
107 | await uncache(require.resolve(module))
108 | cb(module)
109 | })
110 | }
111 |
112 | /**
113 | * uncache a module
114 | * @param {string} module module name or path
115 | */
116 | function uncache(module = '.') {
117 | return new Promise((resolve, reject) => {
118 | try {
119 | delete require.cache[require.resolve(module)]
120 | resolve()
121 | } catch (e) {
122 | reject(e)
123 | }
124 | })
125 | }
126 |
127 |
128 | wa.create({
129 | sessionId: sesi,
130 | ...options(false, start)
131 | })
132 | .then(hurtz => start(hurtz))
133 | .catch((error) => console.log(error))
--------------------------------------------------------------------------------
/options.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs-extra')
2 |
3 | module.exports.argsC = {
4 |
5 | }
6 |
7 | module.exports = options = (headless, start) => {
8 | const chromePath = {
9 | win32: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', // Windows 32 bit
10 | win64: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe', // Windows 64 bit
11 | linuxChrome: '/usr/bin/google-chrome-stable', // Linux - Chrome
12 | linuxChromium: '/usr/bin/chromium-browser', // Linux - Chromium
13 | darwin: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' // MacOS
14 | }
15 |
16 | if (fs.existsSync(chromePath.win32)) {
17 | execPath = chromePath.win32
18 | } else if (fs.existsSync(chromePath.win64)) {
19 | execPath = chromePath.win64
20 | } else if (fs.existsSync(chromePath.linuxChrome)) {
21 | execPath = chromePath.linuxChrome
22 | } else if (fs.existsSync(chromePath.linuxChromium)) {
23 | execPath = chromePath.linuxChromium
24 | } else if (process.platform === 'darwin') {
25 | execPath = chromePath.darwin
26 | } else {
27 | console.error(new Error('Google Chrome Is Not Installed'))
28 | process.exit(1)
29 | }
30 |
31 | let argsC = [
32 | '--disable-2d-canvas-clip-aa',
33 | '--disable-2d-canvas-image-chromium',
34 | '--disable-3d-apis',
35 | '--disable-accelerated-2d-canvas',
36 | '--disable-accelerated-jpeg-decoding',
37 | '--disable-accelerated-mjpeg-decode',
38 | '--disable-accelerated-video-decode',
39 | '--disable-app-list-dismiss-on-blur',
40 | '--disable-audio-output',
41 | '--disable-background-timer-throttling',
42 | '--disable-backgrounding-occluded-windows',
43 | '--disable-breakpad',
44 | '--disable-canvas-aa',
45 | '--disable-client-side-phishing-detection',
46 | '--disable-component-extensions-with-background-pages',
47 | '--disable-composited-antialiasing',
48 | '--disable-default-apps',
49 | '--disable-dev-shm-usage',
50 | '--disable-extensions',
51 | '--disable-features=TranslateUI,BlinkGenPropertyTrees',
52 | '--disable-field-trial-config',
53 | '--disable-fine-grained-time-zone-detection',
54 | '--disable-geolocation',
55 | "--proxy-server='direct://'",
56 | '--proxy-bypass-list=*',
57 | '--disable-gl-extensions',
58 | '--disable-gpu',
59 | '--disable-gpu-early-init',
60 | '--disable-gpu-sandbox',
61 | '--disable-gpu-watchdog',
62 | '--disable-histogram-customizer',
63 | '--disable-in-process-stack-traces',
64 | '--disable-infobars',
65 | '--disable-ipc-flooding-protection',
66 | '--disable-notifications',
67 | '--disable-renderer-backgrounding',
68 | '--disable-session-crashed-bubble',
69 | '--disable-setuid-sandbox',
70 | '--disable-site-isolation-trials',
71 | '--disable-software-rasterizer',
72 | '--disable-sync',
73 | '--disable-threaded-animation',
74 | '--disable-threaded-scrolling',
75 | '--disable-translate',
76 | '--disable-webgl',
77 | '--disable-webgl2',
78 | '--enable-features=NetworkService',
79 | '--force-color-profile=srgb',
80 | '--headless',
81 | '--hide-scrollbars',
82 | '--ignore-certifcate-errors',
83 | '--ignore-certifcate-errors-spki-list',
84 | '--ignore-certificate-errors',
85 | '--ignore-certificate-errors-spki-list',
86 | '--ignore-gpu-blacklist',
87 | '--ignore-ssl-errors',
88 | '--log-level=3',
89 | '--metrics-recording-only',
90 | '--mute-audio',
91 | '--no-crash-upload',
92 | '--no-default-browser-check',
93 | '--no-experiments',
94 | '--no-first-run',
95 | '--no-sandbox',
96 | '--no-zygote',
97 | '--renderer-process-limit=1',
98 | '--safebrowsing-disable-auto-update',
99 | '--silent-debugger-extension-api',
100 | '--single-process',
101 | '--unhandled-rejections=strict',
102 | '--window-position=0,0'
103 | ]
104 |
105 | const argsO = [
106 | '--no-sandbox',
107 | '--disable-setuid-sandbox',
108 | '--aggressive-cache-discard',
109 | '--disable-cache',
110 | '--disable-application-cache',
111 | '--disable-offline-load-stale-cache',
112 | '--disk-cache-size=0'
113 | ]
114 | const options = {
115 | headless: headless,
116 | autoRefresh: true,
117 | qrTimeout:600, //set to 0 to wait forever for a qr scan
118 | authTimeout:0, //set to 0 to wait forever for connection to phone
119 | restartOnCrash: start,
120 | cacheEnabled: false,
121 | useChrome: true,
122 | killProcessOnBrowserClose: true,
123 | throwErrorOnTosBlock: false,
124 | chromiumArgs: argsC
125 | }
126 |
127 | if (!headless) options['defaultViewport'] = null
128 | return options
129 | }
130 |
131 | // '--no-sandbox',
132 | // '--disable-setuid-sandbox',
133 | // '--aggressive-cache-discard',
134 | // '--disable-cache',
135 | // '--disable-application-cache',
136 | // '--disable-offline-load-stale-cache',
137 | // '--disk-cache-size=0'
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "DGC-ChatBotV3",
3 | "version": "2.0.0",
4 | "description": "DGC-ChatBotV3 Adalah suatu bot yang direalisasikan dari suatu komunitas DeepGoreCreepypasta dan diprogram untuk respon tertentu",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "node index.js",
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | },
10 | "author": "MRHRTZ",
11 | "license": "Apache-2.0",
12 | "dependencies": {
13 | "@open-wa/wa-automate": "^3.1.12",
14 | "@open-wa/wa-decrypt": "^2.0.1",
15 | "@vitalets/google-translate-api": "^4.0.0",
16 | "axios": "^0.21.0",
17 | "brainly-scraper": "^1.0.2",
18 | "brainly-scraper-v2": "^1.1.0",
19 | "chalk": "^4.1.0",
20 | "download-file": "^0.1.5",
21 | "emoji-regex": "^9.2.0",
22 | "fs-extra": "^9.0.1",
23 | "g-i-s": "^2.1.6",
24 | "get-youtube-id": "^1.0.1",
25 | "gifify": "^2.4.3",
26 | "gify": "^0.2.0",
27 | "google-it": "^1.5.4",
28 | "got": "^11.8.0",
29 | "image-to-base64": "^2.1.1",
30 | "jsdom": "^16.4.0",
31 | "moment-timezone": "^0.5.31",
32 | "mysql": "^2.18.1",
33 | "needle": "^2.5.2",
34 | "nhentai-api": "^3.0.2",
35 | "nhentai-js": "^4.0.0",
36 | "node-cron": "^2.0.3",
37 | "node-fetch": "^2.6.1",
38 | "node-gtts": "^2.0.2",
39 | "performance-now": "^2.1.0",
40 | "pm2": "^4.5.0",
41 | "remove.bg": "^1.3.0",
42 | "request": "^2.88.2",
43 | "scraper-instagram": "^1.0.14",
44 | "sharp": "^0.26.3",
45 | "tiktok-scraper": "^1.4.8",
46 | "util": "^0.12.3",
47 | "version": "^0.1.2",
48 | "video-url-link": "^0.1.4",
49 | "youtube-v3-api": "^1.1.1"
50 | },
51 | "directories": {
52 | "lib": "lib"
53 | },
54 | "devDependencies": {},
55 | "repository": {
56 | "type": "git",
57 | "url": "git+https://github.com/MRHRTZ/DGC-ChatBotV3"
58 | },
59 | "keywords": [
60 | "DGC-ChatBotV3"
61 | ],
62 | "bugs": {
63 | "url": "https://github.com/MRHRTZ/DGC-ChatBotV3/issues"
64 | },
65 | "homepage": "https://github.com/MRHRTZ/DGC-ChatBotV3#readme"
66 | }
67 |
--------------------------------------------------------------------------------
/ramdan.data.json:
--------------------------------------------------------------------------------
1 | eyJXQUJyb3dzZXJJZCI6IlwiMVI5STZTZUNwL3A0L205cGhCU1d0UT09XCIiLCJXQVNlY3JldEJ1bmRsZSI6IntcImtleVwiOlwiaVNzTHRSODMyTHBsTTlYWWo5dDUyajR1eGEyUjVGeFVMWUVqY08yU1ZzVT1cIixcImVuY0tleVwiOlwieVVhdmIrUTVXV3V0ek83UkxEUU9oME5DMzZldDRMMHQ2VHZhSDl1WDg4cz1cIixcIm1hY0tleVwiOlwiaVNzTHRSODMyTHBsTTlYWWo5dDUyajR1eGEyUjVGeFVMWUVqY08yU1ZzVT1cIn0iLCJXQVRva2VuMSI6IlwiTTZuTThqaUdPYW1CMTlnL1oxUmRsTU1SV3JHRHZzNDkvY2E0cGpGREdZbz1cIiIsIldBVG9rZW4yIjoiXCIxQG1FUlllSUlYM3FDckp5UWY2NGE1OW8vS0V6S2dKaG1Rb3hOTi9vSzdMVUMyYnd3T3hVMWhSb0szaEE3R29GcFlXeGI5VVpWa3JzelMyQT09XCIifQ==
--------------------------------------------------------------------------------
/ramdan.js:
--------------------------------------------------------------------------------
1 | const wa = require('@open-wa/wa-automate')
2 | const { ev } = require('@open-wa/wa-automate')
3 | const welcome = require('./lib/welcome')
4 | const fs = require('fs-extra')
5 | const welcomeF = require('./lib/freedom')
6 | const color = require('./lib/color')
7 | const welcomeD = require('./lib/dmff')
8 | const moment = require('moment-timezone')
9 | //const msgHandler = require('./msgHndlr')
10 | const options = require('./options')
11 | let setting = JSON.parse(fs.readFileSync('./lib/config.json'));
12 | let {prefix, banChats, restartState: isRestart, mtc: mtcState, whitelist ,sAdmin, limitCount, memberLimit, groupLimit} = setting
13 | const sesi = process.argv[2] ? process.argv[2] : "MRHRTZ"
14 |
15 | moment.tz.setDefault('Asia/Jakarta').locale('id')
16 | const time = moment().format('DD/MM HH:mm:ss')
17 | // Cache handler and check for file change
18 | function INFOLOG(info) {
19 | return console.log('\x1b[1;34m~\x1b[1;37m>>', '[\x1b[1;33mINF\x1b[1;37m]', time, color(info))
20 | }
21 |
22 | function restartAwal(hurtz){
23 | setting.restartState = false
24 | isRestart = false
25 | hurtz.sendText(setting.restartId, '✅ _Reset config Completed!_')
26 | setting.restartId = 'undefined'
27 | fs.writeFileSync('./lib/setting.json', JSON.stringify(setting, null,2));
28 | }
29 |
30 | require('./msgHndlr')
31 | nocache('./msgHndlr', module => INFOLOG(`${module} Telah diupdate!`))
32 |
33 | const start = async (hurtz = new Hurtz()) => {
34 |
35 | if(isRestart){restartAwal(hurtz);}
36 |
37 | console.log('[SERVER] Server Started!')
38 | // Force it to keep the current session
39 | hurtz.onStateChanged(state=>{
40 | // console.log('statechanged', state)
41 | INFOLOG(`Status berubah ${state}`)
42 | if(state==="CONFLICT" || state==="UNLAUNCHED") hurtz.forceRefocus();
43 | })
44 | // cron.schedule('* * * * *', () => {
45 | // const obj = [{id: sAdmin, msg: 1}]
46 | // msgLimit = obj
47 | // fs.writeFileSync('./lib/msgLimit.json', JSON.stringify(obj))
48 | // });
49 |
50 | // listening on message
51 |
52 |
53 | hurtz.onMessage((async (message) => {
54 | hurtz.getAmountOfLoadedMessages()
55 | .then((msg) => {
56 | if (msg >= 500) {
57 | hurtz.cutMsgCache()
58 | }
59 | })
60 | // msgHandler(hurtz, message)
61 | // Message Handler (Loaded from recent cache)
62 | require('./msgHndlr')(hurtz, message)
63 | }))
64 |
65 | hurtz.onGlobalParicipantsChanged((async (xixi) => {
66 | // await welcome(hurtz, xixi)
67 | //left(hurtz, heuh)
68 | if (xixi.action == 'remove' || xixi.action == 'leave') {
69 | hurtz.sendTextWithMentions(chat.id, `Semoga tenang dialam sana @${xixi.who} 😊`)
70 | } else if (xixi.action == 'add') {
71 | hurtz.sendTextWithMentions(chat.id, `Welcome new mem @${xixi.who} :)`)
72 | }
73 | console.log(xixi.action+'ing'+' '+xixi.who)
74 | }))
75 |
76 | hurtz.onAddedToGroup((async (chat) => {
77 | // const whitelist = ["6285216490187-1558621310@g.us","6285559038021-1603688917@g.us"]
78 | // if (sender.id === '6285559038021@c.us') return
79 | // let totalMem = await chat.groupMetadata.participants.length
80 | // if (totalMem < 20) {
81 | // hurtz.sendText(chat.id, `Yaampun member nya cuma ${totalMem}, Kalo mau invite bot, minimal jumlah mem ada 20 atau chat owner!`).then(() => hurtz.leaveGroup(chat.id)).then(() => hurtz.deleteChat(chat.id))
82 | // } else {
83 | // hurtz.sendText(chat.groupMetadata.id, `Halo warga grup *${chat.contact.name}* terimakasih sudah menginvite bot ini, untuk melihat menu silahkan kirim *!menu*`)
84 | // }
85 | // if (!whitelist.include(chat.id)) {
86 | hurtz.sendText(chat.id, `Berhubungan Server terbatas bot ini hanya untuk grup DGC dan cabangnya!\n\nJika ada pihak yang membutuhkan bot ini untuk digrup donasi dan konfirmasi owner bot\n\nterima kasih.`)
87 | .then(() => hurtz.sendContact(chat.id, '6285559038021@c.us'))
88 | .then(() => hurtz.leaveGroup(chat.id))
89 | .then(() => hurtz.deleteChat(chat.id))
90 | // } else {
91 | // hurtz.sendText(chat.id, `Halo semua DGC ChatBot siap melayani semuanya, kecuali klo mati :'D`)
92 | // }
93 | }))
94 |
95 |
96 | /*hurtz.onAck((x => {
97 | const { from, to, ack } = x
98 | if (x !== 3) hurtz.sendSeen(to)
99 | }))*/
100 |
101 | // listening on Incoming Call
102 | hurtz.onIncomingCall(( async (call) => {
103 | await hurtz.sendText(call.peerJid, 'Maaf, saya tidak bisa menerima panggilan. Telah ditetapkan telpon/vc = block')
104 | .then(() => hurtz.contactBlock(call.peerJid))
105 | }))
106 | }
107 |
108 |
109 | /**
110 | * uncache if there is file change
111 | * @param {string} module module name or path
112 | * @param {function} cb when module updated
113 | */
114 | function nocache(module, cb = () => { }) {
115 | console.log('Module', `'${module}'`, 'is now being watched for changes')
116 | require('fs').watchFile(require.resolve(module), async () => {
117 | await uncache(require.resolve(module))
118 | cb(module)
119 | })
120 | }
121 |
122 | /**
123 | * uncache a module
124 | * @param {string} module module name or path
125 | */
126 | function uncache(module = '.') {
127 | return new Promise((resolve, reject) => {
128 | try {
129 | delete require.cache[require.resolve(module)]
130 | resolve()
131 | } catch (e) {
132 | reject(e)
133 | }
134 | })
135 | }
136 |
137 |
138 | wa.create({
139 | sessionId: 'ramdan',
140 | ...options(false, start)
141 | })
142 | .then(hurtz => start(hurtz))
143 | .catch((error) => console.log(error))
--------------------------------------------------------------------------------
/tester.data.json:
--------------------------------------------------------------------------------
1 | eyJXQUJyb3dzZXJJZCI6IlwidS9NRythYTVhTDE0dkcxS3NWREFQZz09XCIiLCJXQVNlY3JldEJ1bmRsZSI6IntcImtleVwiOlwiS0lOaGRBUW40aG9ObzBTdnVlVnVSNjk3MmY2U3d2TDR4Q3BrdnRkRTg3ST1cIixcImVuY0tleVwiOlwiTmphcDRhWkhOS281Y01xU1RtSXRDa29vcXNxU1NCZXBoNm1RUUhvSFVHdz1cIixcIm1hY0tleVwiOlwiS0lOaGRBUW40aG9ObzBTdnVlVnVSNjk3MmY2U3d2TDR4Q3BrdnRkRTg3ST1cIn0iLCJXQVRva2VuMSI6IlwiOHZjVEhGdm5sQTcxcmRqbVp6MytEY05tL0RxNllJenhZWVBvcklQaUtzMD1cIiIsIldBVG9rZW4yIjoiXCIxQFdsTVFxUEExMk1JMHZNR2poM1NRR3B3UXEvMjdyeWo1Wi94MGgzNXU2b1NVSTQ3MURHQ1Qzcy9hUnZpTWxYYmVwci9vSExTT01KNHRUUT09XCIifQ==
--------------------------------------------------------------------------------