_autosticker.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import {sticker} from '../lib/sticker.js';
  2. const handler = (m) => m;
  3. handler.all = async function(m) {
  4. const chat = db.data.chats[m.chat];
  5. const user = db.data.users[m.sender];
  6. if (chat.autosticker && m.isGroup) {
  7. const q = m;
  8. let stiker = false;
  9. const mime = (q.msg || q).mimetype || q.mediaType || '';
  10. if (/webp/g.test(mime)) return;
  11. if (/image/g.test(mime)) {
  12. const img = await q.download?.();
  13. if (!img) return;
  14. stiker = await sticker(img, false, packname, author);
  15. } else if (/video/g.test(mime)) {
  16. if (/video/g.test(mime)) if ((q.msg || q).seconds > 8) return await m.reply(`*⚠️ El video solo puede durar 8 seg*`);
  17. const img = await q.download();
  18. if (!img) return;
  19. stiker = await sticker(img, false, packname, author);
  20. } else if (m.text.split(/\n| /i)[0]) {
  21. if (isUrl(m.text)) stiker = await sticker(false, m.text.split(/\n| /i)[0], packname, author);
  22. else return;
  23. }
  24. if (stiker) {
  25. await conn.sendFile(m.chat, stiker, null, null, fake, {asSticker: true});
  26. }}
  27. return !0;
  28. };
  29. export default handler;
  30. const isUrl = (text) => {
  31. 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'));
  32. };