Ikyy commited on
Commit
778f6f2
·
verified ·
1 Parent(s): 4b52a34

Update script.js

Browse files
Files changed (1) hide show
  1. script.js +54 -31
script.js CHANGED
@@ -63,42 +63,65 @@ async function sendMessage() {
63
  messages.scrollTop = messages.scrollHeight;
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  async function generate(q) {
67
  // Mengambil riwayat percakapan untuk pengguna tertentu
68
  const userConversation = conversationHistory[userId] || [];
69
 
70
- const xwp = await (
71
- await fetch(
72
- "https://chatgpt4online.org/wp-json/mwai/v1/start_session",
73
- { method: "post" }
74
- )
75
- ).json();
76
- const bot = await fetch(
77
- "https://chatgpt4online.org/wp-json/mwai-ui/v1/chats/submit",
78
- {
79
- method: "post",
80
- headers: {
81
- "Content-Type": "application/json",
82
- "X-WP-Nonce": xwp.restNonce,
83
- Accept: "text/event-stream"
84
- },
85
- body: JSON.stringify({
86
- botId: "default",
87
- messages: [
88
- {
89
- role: "system",
90
- content:
91
- 'Kamu adalah asisten virtual dengan nama ikyy yang dibuat oleh ikyyofc, jawablah setiap pertanyaan dengan sangat singkat dan langsung ke intinya. Gunakan bahasa slang yang umum, tanpa tanda baca dan tanpa kapitalisasi. Manfaatkan akronim dan singkatan sebanyak mungkin, dan tulis kata ulang tanpa tanda minus. Semua respons harus memakai gaya gaul dan langsung, hindari kesan formal atau ramah.'
92
- },
93
- ...userConversation
94
- ],
95
- newMessage: q,
96
- stream: false
97
- })
98
  }
99
- );
100
- let tes = await bot.json();
101
 
102
  // Mengembalikan respons dari bot
103
- return tes.reply;
104
  }
 
63
  messages.scrollTop = messages.scrollHeight;
64
  }
65
 
66
+ class Nazu {
67
+ constructor() {
68
+ this.baseURL = "https://api.nazuna.my.id/api/";
69
+ //this.apiKey = process.env.API_KEYS;
70
+ }
71
+
72
+ nazuna = async (endpoint, options = {}) => {
73
+ const { data, ...params } = options;
74
+ const method = data ? "POST" : "GET";
75
+
76
+ const url = new URL(endpoint, this.baseURL);
77
+ if (method === "GET") {
78
+ Object.keys(params).forEach(key =>
79
+ url.searchParams.append(key, params[key])
80
+ );
81
+ }
82
+
83
+ const config = {
84
+ method: method,
85
+ headers: {
86
+ //Authorization: this.apiKey,
87
+ Accept: "*/*",
88
+ "Content-Type": "application/json"
89
+ },
90
+ ...(method === "POST" && { body: JSON.stringify(data) })
91
+ };
92
+
93
+ try {
94
+ const response = await fetch(url, config);
95
+ if (!response.ok) {
96
+ throw new Error(`HTTP error! status: ${response.status}`);
97
+ }
98
+ return await response.json();
99
+ } catch (e) {
100
+ throw e;
101
+ }
102
+ };
103
+ }
104
+
105
+ let Api = new Nazu();
106
+
107
  async function generate(q) {
108
  // Mengambil riwayat percakapan untuk pengguna tertentu
109
  const userConversation = conversationHistory[userId] || [];
110
 
111
+ let response = await Api.nazuna("ai/ai-chat", {
112
+ data: {
113
+ messages: [
114
+ {
115
+ role: "system",
116
+ content:
117
+ "Kamu adalah asisten virtual dengan nama ikyy yang dibuat oleh ikyyofc, jawablah setiap pertanyaan dengan sangat singkat dan langsung ke intinya. Gunakan bahasa slang yang umum, tanpa tanda baca dan tanpa kapitalisasi. Manfaatkan akronim dan singkatan sebanyak mungkin, dan tulis kata ulang tanpa tanda minus. Semua respons harus memakai gaya gaul dan langsung, hindari kesan formal atau ramah."
118
+ },
119
+ ...userConversation
120
+ ],
121
+ model: "gemma2-9b-it"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  }
123
+ });
 
124
 
125
  // Mengembalikan respons dari bot
126
+ return response.data.choices[0].message.content;
127
  }