forked from Shizu-Hub/Shizu-Bot-MD
-
Notifications
You must be signed in to change notification settings - Fork 65
/
Copy path_autosticker.js
35 lines (31 loc) Β· 1.38 KB
/
_autosticker.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { sticker } from '../lib/sticker.js'
let handler = m => m
handler.all = async function (m) {
let chat = db.data.chats[m.chat]
let user = db.data.users[m.sender]
if (chat.autosticker && m.isGroup) {
let q = m
let stiker = false
let mime = (q.msg || q).mimetype || q.mediaType || ''
if (/webp/g.test(mime)) return
if (/image/g.test(mime)) {
let img = await q.download?.()
if (!img) return
stiker = await sticker(img, false, packname, author)
} else if (/video/g.test(mime)) {
if (/video/g.test(mime)) if ((q.msg || q).seconds > 8) return await this.sendButton(m.chat, '*[βπππ
πβ] π΄π» π
πΈπ³π΄πΎ π½πΎ πΏππ΄π³π΄ π³πππ°π πΌπ°π π³π΄ π½ ππ΄πΆππ½π³πΎπ*', wm, [['π³π΄ππ°π²ππΈπ
π°π π°πππΎπππΈπ²πΊπ΄π', '/disable autosticker']], m)
let img = await q.download()
if (!img) return
stiker = await sticker(img, false, packname, author)
} else if (m.text.split(/\n| /i)[0]) {
if (isUrl(m.text)) stiker = await sticker(false, m.text.split(/\n| /i)[0], packname, author)
else return
}
if (stiker) {
await this.sendFile(m.chat, stiker, null, { asSticker: true })
}}
return !0
}
export default handler
const isUrl = (text) => {
return text.match(new RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)(jpe?g|gif|png|mp4)/, 'gi'))}