File size: 2,119 Bytes
bb69f9b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
const { getFilter, bot, setFilter, deleteFilter, lydia } = require('../lib/')

bot(
  {
    pattern: 'stop ?(.*)',
    desc: 'Delete filters in chat',
    type: 'group',
    onlyGroup: true,
  },
  async (message, match) => {
    if (!match) return await message.send(`*Example : .stop hi*`)
    const isDel = await deleteFilter(message.jid, match, message.id)
    if (!isDel) return await message.send(`_${match} not found in filters_`)
    return await message.send(`_${match} deleted._`)
  }
)

bot(
  {
    pattern: 'filter ?(.*)',
    desc: 'filter in groups',
    type: 'group',
    onlyGroup: true,
  },
  async (message, match) => {
    match = match.match(/[\'\"](.*?)[\'\"]/gms)
    if (!match) {
      const filters = await getFilter(message.jid, message.id)
      if (!filters.length)
        return await message.send(`_Not set any filter_\n*Example filter 'hi' 'hello'*`)
      let msg = ''
      filters.map(({ pattern }) => {
        msg += `- ${pattern}\n`
      })
      return await message.send(msg.trim())
    } else {
      if (match.length < 2) {
        return await message.send(`Example filter 'hi' 'hello'`)
      }
      const k = match[0].replace(/['"]+/g, '')
      const v = match[1].replace(/['"]+/g, '')
      if (k && v) await setFilter(message.jid, k, v, match[0][0] === "'" ? true : false, message.id)
      await message.send(`_${k}_ added to filters.`)
    }
  }
)

bot({ on: 'text', fromMe: false, type: 'filterOrLydia' }, async (message, match, ctx) => {
  const filters = await getFilter(message.jid, message.id)
  for (const { pattern, text } of filters) {
    const regexPattern = new RegExp(`(?:^|\\W)${pattern}(?:$|\\W)`, 'i')
    if (regexPattern.test(message.text)) {
      return await message.send(text, {
        quoted: message.data,
      })
    }
  }

  const isLydia = await lydia(message)
  if (isLydia) return await message.send(isLydia, { quoted: message.data })
})

bot({ on: 'text', fromMe: true, type: 'lydia' }, async (message, match) => {
  const isLydia = await lydia(message)
  if (isLydia) return await message.send(isLydia, { quoted: message.data })
})