owner-fetch.js 850 B

12345678910111213141516171819202122232425262728293031
  1. import fetch from 'node-fetch'
  2. import { format } from 'util'
  3. let handler = async (m, { conn, text }) => {
  4. if (m.fromMe) return
  5. if (!/^https?:\/\//.test(text)) throw 'Ejemplo:\nhttps://hackstorex.com'
  6. m.react("💻")
  7. let url = text
  8. let res = await fetch(url)
  9. if (res.headers.get('content-length') > 100 * 1024 * 1024 * 1024) {
  10. throw `Content-Length: ${res.headers.get('content-length')}`
  11. }
  12. if (!/text|json/.test(res.headers.get('content-type'))) return conn.sendFile(m.chat, url, 'file', text, m)
  13. let txt = await res.buffer()
  14. try {
  15. txt = format(JSON.parse(txt + ''))
  16. } catch (e) {
  17. txt = txt + ''
  18. } finally {
  19. m.reply(txt.slice(0, 65536) + '')
  20. }
  21. }
  22. handler.help = ['fetch'].map(v => v + ' *<url>*')
  23. handler.tags = ['owner']
  24. handler.command = /^(fetch|get)$/i
  25. //handler.rowner = true
  26. handler.limit = 1
  27. handler.register = true
  28. export default handler;