Skip to content

Commit

Permalink
migrate to typescript
Browse files Browse the repository at this point in the history
  • Loading branch information
Kry9toN committed Jan 23, 2021
1 parent ca040d2 commit 0b139e3
Show file tree
Hide file tree
Showing 25 changed files with 652 additions and 595 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ lib/instaStory.js
lib/jiwa.js
package-lock.json
.env
dist
27 changes: 18 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"description": "KryPtoN Whatsapp Bot",
"main": "krypton.js",
"scripts": {
"start": "node krypton.js",
"start": "node start",
"compile": "tsc --build tsconfig.json",
"changelog": "auto-changelog -p && git add CHANGELOG.md",
"release": "read -p 'GITHUB_TOKEN: ' GITHUB_TOKEN && export GITHUB_TOKEN=$GITHUB_TOKEN && release-it"
},
Expand All @@ -25,6 +26,9 @@
"release": true
}
},
"eslintConfig": {
"ignorePatterns": "build/*/**"
},
"auto-changelog": {
"commitLimit": false
},
Expand All @@ -35,23 +39,28 @@
"license": "SEE LICENSE IN LICENSE.md",
"dependencies": {
"@adiwajshing/baileys": "^3.4.1",
"spinnies": "^0.5.1",
"chalk": "^4.1.0",
"discord.js": "^12.5.1",
"auto-changelog": "^2.2.1",
"moment-timezone": "^0.5.32",
"axios": "^0.21.1",
"wa-canvas": "git+https://github.com/Kry9toN/wa-canvas.git",
"release-it": "^14.2.2",
"cfonts": "^2.9.1",
"chalk": "^4.1.0",
"child_process": "^1.0.2",
"discord.js": "^12.5.1",
"fluent-ffmpeg": "^2.1.2",
"moment-timezone": "^0.5.32",
"node-fetch": "^2.6.1",
"pg": "^8.5.1",
"child_process": "^1.0.2",
"fluent-ffmpeg": "^2.1.2"
"release-it": "^14.2.2",
"remove.bg": "^1.3.0",
"source-map-loader": "^2.0.0",
"spinnies": "^0.5.1",
"typescript": "^4.1.3",
"wa-canvas": "git+https://github.com/Kry9toN/wa-canvas.git"
},
"devDependencies": {
"babel-eslint": "^10.1.0",
"eslint": "^7.14.0",
"ts-loader": "^8.0.14",
"ts-node": "^9.1.1",
"eslint-config-standard": "^16.0.2",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
Expand Down
44 changes: 22 additions & 22 deletions command/add.js → src/command/add.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
const { color } = require('../utils/color')

module.exports = {
name: 'add',
aliases: ['ad'],
description: 'Untuk menambahkan orang ke group dengan nomor\nPenggunaan: !add 6285xxxx',
// eslint-disable-next-line no-shadow-restricted-names
execute (client, undefined, pesan, args) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (args.length < 1) return client.reply('Siapa yang mau lu add ?, demit ?')
if (args[0].startsWith('08')) return client.reply('Jaman sudah canggih!!, masa masih pakai 0 awalannya')
try {
num = `${args[0].replace(/ /g, '')}@s.whatsapp.net`
client.groupAdd(client.from, [num])
} catch (e) {
console.log('Error : %s', color(e, 'red'))
client.reply('Gagal menambahkan target, mungkin karena di private')
}
}
}
export {}
const { color } = require('../utils/color')

module.exports = {
name: 'add',
aliases: ['ad'],
description: 'Untuk menambahkan orang ke group dengan nomor\nPenggunaan: !add 6285xxxx',
execute (client: any, chat: any, pesan: any, args:any) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (args.length < 1) return client.reply('Siapa yang mau lu add ?, demit ?')
if (args[0].startsWith('08')) return client.reply('Jaman sudah canggih!!, masa masih pakai 0 awalannya')
try {
const num = `${args[0].replace(/ /g, '')}@s.whatsapp.net`
client.groupAdd(client.from, [num])
} catch (e) {
console.log('Error : %s', color(e, 'red'))
client.reply('Gagal menambahkan target, mungkin karena di private')
}
}
}
28 changes: 14 additions & 14 deletions command/clearall.js → src/command/clearall.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
module.exports = {
name: 'clearall',
aliases: ['ca'],
description: 'Untuk benghapus semua chat _only owner_',
execute (client, chat, pesan) {
if (!isOwner) return reply('Kamu siapa?')
chatAll = client.chats.all()
client.setMaxListeners(25)
for (const chat of chatAll) {
client.deleteChat(chat.jid)
}
client.reply('Berhasil menghapus semua chat')
}
}
module.exports = {
name: 'clearall',
aliases: ['ca'],
description: 'Untuk benghapus semua chat _only owner_',
execute (client, chat, pesan) {
if (!client.isOwner) return client.reply('Kamu siapa?')
const chatAll = client.chats.all()
client.setMaxListeners(25)
for (const chat of chatAll) {
client.deleteChat(chat.jid)
}
client.reply('Berhasil menghapus semua chat')
}
}
46 changes: 23 additions & 23 deletions command/demote.js → src/command/demote.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
module.exports = {
name: 'demote',
aliases: ['dm'],
description: 'Untuk manghapus admin anggota group\nPenggunaan: !demote _tag_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag target yang ingin di demote!')
mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
if (mentioned.length > 1) {
teks = 'Perintah di terima, demote :\n'
for (const _ of mentioned) {
teks += `@${_.split('@')[0]}\n`
}
client.mentions(teks, mentioned, true)
client.groupDemoteAdmin(client.from, mentioned)
} else {
client.mentions(`Perintah di terima, menghapus admin : @${mentioned[0].split('@')[0]} di group`, mentioned, true)
client.groupDemoteAdmin(client.from, mentioned)
}
}
}
module.exports = {
name: 'demote',
aliases: ['dm'],
description: 'Untuk manghapus admin anggota group\nPenggunaan: !demote _tag_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag target yang ingin di demote!')
const mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
if (mentioned.length > 1) {
let teks = 'Perintah di terima, demote :\n'
for (const _ of mentioned) {
teks += `@${_.split('@')[0]}\n`
}
client.mentions(teks, mentioned, true)
client.groupDemoteAdmin(client.from, mentioned)
} else {
client.mentions(`Perintah di terima, menghapus admin : @${mentioned[0].split('@')[0]} di group`, mentioned, true)
client.groupDemoteAdmin(client.from, mentioned)
}
}
}
3 changes: 2 additions & 1 deletion command/fakereply.js → src/command/fakereply.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export {}
const { MessageType } = require('@adiwajshing/baileys')

module.exports = {
Expand All @@ -9,7 +10,7 @@ module.exports = {
const arg = client.body.slice(9)
const targets = arg.split('|')[1]
const bot = arg.split('|')[2]
mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
const mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
client.sendMessage(client.from, `${bot}`, MessageType.text, { quoted: { key: { fromMe: false, participant: `${mentioned}`, ...(client.from ? { remoteJid: client.from } : {}) }, message: { conversation: `${targets}` } } })
}
}
11 changes: 7 additions & 4 deletions command/gmium.js → src/command/gmium.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export {}
const { databaseView, databaseInput } = require('../utils/db')

module.exports = {
Expand All @@ -8,10 +9,10 @@ module.exports = {
if (!client.isOwner && !client.isSudo) return client.reply(pesan.hanya.owner)
const gid = args[2]
if (args[0] === 'add') {
const mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
const sign = mentioned[0]
if (args[1] === 'unlimited') {
if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag yang bersangkutan!')
mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
const sign = mentioned[0]
databaseInput(`INSERT INTO gmium(gid, lifetime, signature) VALUES('${gid}', 'unlimited', '${sign}')`)
.then(() => {
client.reply(pesan.berhasil)
Expand Down Expand Up @@ -40,15 +41,17 @@ module.exports = {
await databaseView('SELECT * FROM gmium')
.then((result) => {
let text = '📝 Daftar *Premium* di bot ini\n'
const mentioned = []
if (result.length > 0) {
for (let i = 0; i < result.length; i++) {
const gid = result[i].gid
const waktu = result[i].waktu
const sign = result[i].signature.replace('@s.whatsapp.net', '')
const sign = result[i].signature
mentioned.push(sign)
const life = result[i].lifetime
text += `${i}. *GID*: ${gid}\n`
text += ` ├> *Lifetime*: ${life}\n`
text += ` ├> *Bersangkutan*: @${sign}\n`
text += ` ├> *Bersangkutan*: @${sign.replace('@s.whatsapp.net', '')}\n`
text += ` └> *Mulai*: ${waktu}\n`
}
client.mentions(`${text}`, mentioned, true)
Expand Down
40 changes: 20 additions & 20 deletions command/help.js → src/command/help.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
module.exports = {
name: 'help',
aliases: ['h'],
description: 'Menampilkan semua perintah dan deskripsi',
execute (client, chat, pesan, args) {
const commands = client.cmd.array()
if (args.length == 0) {
let text = 'Daftar perintah di bot ini\n\nPrefix: !\n'
commands.forEach((cmd) => {
text += `- *${cmd.name}* ${cmd.aliases ? `(${cmd.aliases})` : ''}\n`
})
text += '\nMasih bingung? ketik *!help <perintah>* akan menampilkan penggunaan perintah tersebut'
return client.reply(text)
} else {
if (!client.cmd.has(args[0])) return client.reply('Perintah yang anda maksut tidak ada bro')
const text = client.cmd.get(args[0]).description
return client.reply(text)
}
}
}
module.exports = {
name: 'help',
aliases: ['h'],
description: 'Menampilkan semua perintah dan deskripsi',
execute (client, chat, pesan, args) {
const commands = client.cmd.array()
if (args.length == 0) {
let text = 'Daftar perintah di bot ini\n\nPrefix: !\n'
commands.forEach((cmd) => {
text += `- *${cmd.name}* ${cmd.aliases ? `(${cmd.aliases})` : ''}\n`
})
text += '\nMasih bingung? ketik *!help <perintah>* akan menampilkan penggunaan perintah tersebut'
return client.reply(text)
} else {
if (!client.cmd.has(args[0])) return client.reply('Perintah yang anda maksut tidak ada bro')
const text = client.cmd.get(args[0]).description
return client.reply(text)
}
}
}
40 changes: 20 additions & 20 deletions command/hidetag.js → src/command/hidetag.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
module.exports = {
name: 'hidetag',
aliases: ['ht'],
description: 'Untuk mengetag semua orang tanpa @\nPenggunaan !hidetag _text_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
const value = client.body.slice(9)
const memberList = []
for (const member of client.groupMembers) {
memberList.push(member.jid)
}
const options = {
text: value,
contextInfo: { mentionedJid: memberList },
quoted: chat
}
client.sendMess(client.from, options)
}
}
module.exports = {
name: 'hidetag',
aliases: ['ht'],
description: 'Untuk mengetag semua orang tanpa @\nPenggunaan !hidetag _text_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
const value = client.body.slice(9)
const memberList = []
for (const member of client.groupMembers) {
memberList.push(member.jid)
}
const options = {
text: value,
contextInfo: { mentionedJid: memberList },
quoted: chat
}
client.sendMess(client.from, options)
}
}
46 changes: 23 additions & 23 deletions command/kick.js → src/command/kick.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
module.exports = {
name: 'kick',
aliases: ['k'],
description: 'Untuk mengeluarkan angota di group\nPenggunaan: !kick _tag_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag target yang ingin di tendang!')
mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
if (mentioned.length > 1) {
teks = 'Perintah di terima, mengeluarkan :\n'
for (const _ of mentioned) {
teks += `@${_.split('@')[0]}\n`
}
client.mentions(teks, mentioned, true)
client.groupRemove(client.from, mentioned)
} else {
client.mentions(`Perintah di terima, mengeluarkan : @${mentioned[0].split('@')[0]}`, mentioned, true)
client.groupRemove(client.from, mentioned)
}
}
}
module.exports = {
name: 'kick',
aliases: ['k'],
description: 'Untuk mengeluarkan angota di group\nPenggunaan: !kick _tag_',
execute (client, chat, pesan) {
if (!client.isGroup) return client.reply(pesan.error.group)
if (!client.isGroupAdmins) return client.reply(pesan.hanya.admin)
if (!client.isBotGroupAdmins) return client.reply(pesan.hanya.botAdmin)
if (chat.message.extendedTextMessage === undefined || chat.message.extendedTextMessage === null) return client.reply('Tag target yang ingin di tendang!')
const mentioned = chat.message.extendedTextMessage.contextInfo.mentionedJid
if (mentioned.length > 1) {
let teks = 'Perintah di terima, mengeluarkan :\n'
for (const _ of mentioned) {
teks += `@${_.split('@')[0]}\n`
}
client.mentions(teks, mentioned, true)
client.groupRemove(client.from, mentioned)
} else {
client.mentions(`Perintah di terima, mengeluarkan : @${mentioned[0].split('@')[0]}`, mentioned, true)
client.groupRemove(client.from, mentioned)
}
}
}
1 change: 1 addition & 0 deletions command/notes.js → src/command/notes.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export {}
const { databaseView, databaseInput } = require('../utils/db')

module.exports = {
Expand Down
Loading

0 comments on commit 0b139e3

Please sign in to comment.