Nultx commited on
Commit
a08f6a9
·
1 Parent(s): 6837dd9

Update src/index.js

Browse files
Files changed (1) hide show
  1. src/index.js +27 -26
src/index.js CHANGED
@@ -72,16 +72,14 @@ app.get('/sessions', (_, res) => res.send(eval(Array.from(sessions))))
72
  app.all('/api', rateLimit(), async (req, res) => {
73
  if (!['GET', 'POST'].includes(req.method)) return res.json({ success: false, message: 'Method not allowed' })
74
  try {
75
- let { characterId, text, sessionId, uid } = req.query
 
76
  if (!characterId) return res.json({ success: false, message: 'Input parameter characterId' })
77
  if (!text) return res.json({ success: false, message: 'Input parameter text' })
78
- if(!uid) {
79
- uid = generateRandomCharacter(12);
80
- }
81
- if (sessionId) {
82
- if (!sessions.has(sessionId)) return res.json({ success: false, message: 'sessionId not found' })
83
  const characterAI = sessions.get(sessionId)
84
- sessions.set(sessionId, Object.assign(characterAI, { lastFetch: Date.now(), sender: `${uid}` }))
85
 
86
  const chat = await characterAI.createOrContinueChat(characterId)
87
  const response = await chat.sendAndAwaitResponse(text, true)
@@ -93,25 +91,24 @@ app.all('/api', rateLimit(), async (req, res) => {
93
  message: 'sessionId will be deleted in 10 minutes if not used',
94
  result: { ...response, urlAvatar, sessionId }
95
  })
96
- return
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
-
99
- const id = uuid.v4()
100
- const characterAI = new CharacterAI()
101
- characterAI.requester.puppeteerPath = puppeteer.executablePath()
102
- await characterAI.authenticateAsGuest()
103
- sessions.set(id, Object.assign(characterAI, { lastFetch: Date.now(), sender: `${uid}` }))
104
-
105
- const chat = await characterAI.createOrContinueChat(characterId)
106
- const response = await chat.sendAndAwaitResponse(text, true)
107
- const urlAvatar = `https://characterai.io/i/80/static/avatars/${response.srcAvatarFileName}`
108
-
109
- delete response.chat
110
- res.json({
111
- success: true,
112
- message: 'sessionId will be deleted in 10 minutes if not used',
113
- result: { ...response, urlAvatar, sessionId: id, sender: uid }
114
- })
115
  } catch (e) {
116
  console.log(e)
117
  e = String(e)
@@ -121,10 +118,14 @@ app.all('/api', rateLimit(), async (req, res) => {
121
  })
122
  }
123
  })
 
 
 
 
124
 
125
  const PORT = process.env.PORT || 7860
126
  app.listen(PORT, () => console.log('App running on port', PORT))
127
 
128
  // const { REPL_SLUG, REPL_OWNER } = process.env
129
  // if (REPL_SLUG && REPL_OWNER)
130
- setInterval(() => fetch(`https://nultx-character-ai.hf.space/`, { method: 'head' }).catch(console.log), 1 * 60 * 1000)
 
72
  app.all('/api', rateLimit(), async (req, res) => {
73
  if (!['GET', 'POST'].includes(req.method)) return res.json({ success: false, message: 'Method not allowed' })
74
  try {
75
+ let { characterId, text, sessionId, uid } = req.query // Inisialisasi variabel uid
76
+ if (!sessionId) return res.json({ success: false, message: 'Input parameter sessionId' })
77
  if (!characterId) return res.json({ success: false, message: 'Input parameter characterId' })
78
  if (!text) return res.json({ success: false, message: 'Input parameter text' })
79
+
80
+ if (sessions.has(sessionId)) {
 
 
 
81
  const characterAI = sessions.get(sessionId)
82
+ sessions.set(sessionId, Object.assign(characterAI, { lastFetch: Date.now() }))
83
 
84
  const chat = await characterAI.createOrContinueChat(characterId)
85
  const response = await chat.sendAndAwaitResponse(text, true)
 
91
  message: 'sessionId will be deleted in 10 minutes if not used',
92
  result: { ...response, urlAvatar, sessionId }
93
  })
94
+ } else {
95
+ const id = sessionId;
96
+ const characterAI = new CharacterAI()
97
+ characterAI.requester.puppeteerPath = puppeteer.executablePath()
98
+ await characterAI.authenticateAsGuest()
99
+ sessions.set(id, Object.assign(characterAI, { lastFetch: Date.now() }))
100
+
101
+ const chat = await characterAI.createOrContinueChat(characterId)
102
+ const response = await chat.sendAndAwaitResponse(text, true)
103
+ const urlAvatar = `https://characterai.io/i/80/static/avatars/${response.srcAvatarFileName}`
104
+
105
+ delete response.chat
106
+ res.json({
107
+ success: true,
108
+ message: 'sessionId will be deleted in 10 minutes if not used',
109
+ result: { ...response, urlAvatar, sessionId: id }
110
+ })
111
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  } catch (e) {
113
  console.log(e)
114
  e = String(e)
 
118
  })
119
  }
120
  })
121
+ app.get('/ping', (req, res) => {
122
+ const start = Date.now();
123
+ res.send(`Pong! Respons time: ${Date.now() - start}ms`);
124
+ });
125
 
126
  const PORT = process.env.PORT || 7860
127
  app.listen(PORT, () => console.log('App running on port', PORT))
128
 
129
  // const { REPL_SLUG, REPL_OWNER } = process.env
130
  // if (REPL_SLUG && REPL_OWNER)
131
+ setInterval(() => fetch(`https://nultx-character-ai.hf.space/ping`, { method: 'head' }).catch(console.log), 1 * 60 * 1000)