_autoresponder.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import axios from 'axios';
  2. import fetch from 'node-fetch';
  3. import translate from '@vitalets/google-translate-api';
  4. import { sticker } from '../lib/sticker.js';
  5. import { perplexity } from '../lib/scraper.js';
  6. //let handler = m => m;
  7. //handler.all = async function (m, {conn}) {
  8. export async function before(m, { conn }) {
  9. let user = global.db.data.users[m.sender]
  10. let chat = global.db.data.chats[m.chat];
  11. let setting = global.db.data.settings[this.user.jid]
  12. let prefixRegex = new RegExp('^[' + setting.prefix.replace(/[|\\{}()[\]^$+*.\-\^]/g, '\\$&') + ']');
  13. //if (prefixRegex.test(m.text)) return true;
  14. if (m.mentionedJid.includes(this.user.jid)) {
  15. //if (m.mentionedJid.includes(this.user.jid) || (m.quoted && m.quoted.sender === this.user.jid)) {
  16. if (chat.simi) return;
  17. if (m.text.includes('PIEDRA') || m.text.includes('PAPEL') || m.text.includes('TIJERA') || m.text.includes('menu') || m.text.includes('estado') || m.text.includes('bots') || m.text.includes('serbot') || m.text.includes('jadibot') || m.text.includes('Video') || m.text.includes('Audio') || m.text.includes('audio') || m.text.includes('Bot') || m.text.includes('bot') || m.text.includes('Exp') || m.text.includes('diamante') || m.text.includes('kantucoins') || m.text.includes('Diamante') || m.text.includes('Kantucoins')) return !0
  18. if (["120363371008200788@newsletter", "120363371008200788@newsletter"].includes(m.chat)) return;
  19. await this.sendPresenceUpdate('composing', m.chat);
  20. async function luminsesi(q, username, logic) {
  21. try {
  22. const response = await axios.post("https://luminai.my.id", {
  23. content: q,
  24. user: username,
  25. prompt: logic,
  26. webSearchMode: true // true = resultado con url
  27. });
  28. return response.data.result;
  29. } catch (error) {
  30. console.error(error);
  31. }}
  32. async function perplexityIA(q, logic) {
  33. try {
  34. let response = await perplexity.chat([
  35. { role: 'system', content: logic || syms1 },
  36. { role: 'user', content: q }
  37. ], 'sonar-pro');
  38. if (response.status) {
  39. return response.result.response;
  40. } else {
  41. throw new Error(`Error en Perplexity: ${response.result.error}`);
  42. }
  43. } catch (error) {
  44. console.error('Error en Perplexity:', error);
  45. return null;
  46. }
  47. }
  48. let query = m.text;
  49. let username = `${m.pushName}`;
  50. let txtDefault = await fetch('https://raw.githubusercontent.com/crxsmods/text/refs/heads/main/text-chatgpt').then(v => v.text());
  51. //await fetch('https://raw.githubusercontent.com/Skidy89/chat-gpt-jailbreak/main/Text.txt').then(v => v.text());
  52. let syms1 = chat.sAutorespond ? chat.sAutorespond : txtDefault
  53. if (!chat.autorespond) return
  54. if (m.fromMe) return
  55. let result
  56. if (!result || result.trim().length === 0) {
  57. result = await perplexityIA(query, syms1);
  58. }
  59. if (!result || result.trim().length === 0) {
  60. result = await luminsesi(query, username, syms1);
  61. result = result.replace(/Maaf, terjadi kesalahan saat memproses permintaan Anda/g, '').trim();
  62. result = result.replace(/Generated by BLACKBOX\.AI.*?https:\/\/www\.blackbox\.ai/g, '').trim();
  63. result = result.replace(/and for API requests replace https:\/\/www\.blackbox\.ai with https:\/\/api\.blackbox\.ai/g, '').trim();
  64. }
  65. if (result && result.trim().length > 0) {
  66. await this.reply(m.chat, result, m);
  67. await this.readMessages([m.key])
  68. } else {
  69. let gpt = await fetch(`${apis}/ia/gptprompt?text=${m.text}?&prompt=${syms1}`)
  70. let res = await gpt.json()
  71. await this.reply(m.chat, res.data, m)
  72. }}
  73. return true;
  74. }
  75. //export default handler;