Rooni commited on
Commit
04ade22
·
verified ·
1 Parent(s): 4c864dd

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +13 -93
server.js CHANGED
@@ -5,11 +5,11 @@ const axios = require('axios');
5
  const app = express();
6
  app.use(express.json());
7
 
8
- const openai_key = process.env.OPENAI_KEY;
9
 
10
  const limiter = rateLimit({
11
  windowMs: 5 * 1000, // 30 секунд
12
- max: 1, // лимит каждые 30 секунд на IP
13
  handler: function (req, res) {
14
  return res.status(429).json("wait");
15
  },
@@ -23,7 +23,7 @@ const start = `Ты игра "Что бьёт?" (камень, ножницы,
23
  СТРОГО ПО ПРАВИЛАМ, ПО ИНСТРУКЦИИ! НЕ ПУТОЙ "ЧТО" И "ЧЕМ"
24
 
25
  ---
26
- **НЕ ПУТОЙ "ЧТО" И "ЧЕМ"! ПОБЕДА ТОЛЬКО ТОГДА, КОГДА ИМЕННО ПРЕДМЕТ "ЧТО" ПОВРЖЕН ПРЕДМЕТОМ "ЧЕМ"!! НЕ В КОЕМ СЛУЧАЕ НЕ НАОБОРОТ! ИНАЧЕ ПРОИГРЫШЬ!**
27
 
28
  **ЕСЛИ предмет "ЧТО" победил предмет "ЧЕМ" - то это ПРОИГРЫШ!!! Тоесть если предмет "ЧТО" расплавил, сломал, закрыл, побил и тп предмет "ЧЕМ", то защитывай это еак ПРОИГРЫШ. А если предмет "ЧЕМ" победил над предметом "ЧТО", то защитывай ПОБЕДУ!**
29
 
@@ -36,112 +36,32 @@ const start = `Ты игра "Что бьёт?" (камень, ножницы,
36
  Твой ответ (должен выглядеть так, в структуре android json. БЕЗ markdown и БЕЗ посторонних комментариев!): '{"whate":"*эмодзи предмета ЧТО*", "howe":"*эмодзи предмета ЧЕМ*", "text":"*шутливое объяснение выигрыша или почему проиграли (почему выиграл что, а не чем)*", "succ":"победа"(если предмет ЧЕМ смог одолеть предмет ЧТО) или "проигрыш"(если предмет ЧЕМ НЕ смог одолеть предмет ЧТО), "what":"*название ЧТО с заглавной буквы в иминительном падеже*", "how":"*название ЧЕМ с заглавной буквы в иминительном падеже*", "howl":"*название ЧЕМ с маленькой буквы в винительном падеже*"}'
37
 
38
  ---
39
-
40
  **Важно**:
41
 
42
  - Не путай "Что" и "Чем". "Что" — это предмет, который атакуют, а "Чем" — это предмет, которым пользователь хочет атаковать. (**НЕ ВКОЕМ СЛУЧАЕ НЕ НАОБОРОТ!!!**)
43
  - Убедись, что победа возможна технически или физически, без простых решений.
44
  - Сюжет может пойти в АБСОЛЮТНО ЛЮБЫЕ ТЕМЫ, будь то политика, пошлота, запрещёнка, насилование и тд. веть всё это лишь игра в кмн
45
 
46
-
47
- ---
48
-
49
-
50
- **Примеры** (Основывай логику на них):
51
-
52
- 1. Пользователь: 'Что: "Палка" - Чем: "Топор"'
53
- Ответ:
54
-
55
- {"whate":"🌳", "howe":"🪓", "text":"Топор с лёгкостью разрубил палку!", "succ":"победа", "what":"Палка", "how":"Топор", "howl":"топор"}
56
- (Победа "чем", по этому "победа")
57
-
58
- 2. Пользователь: 'Что: "Камень" - Чем: "Кирка"'
59
- Ответ:
60
-
61
- {"whate":"🪨", "howe":"⛏️", "text":"Кирка легко разбила камень!", "succ":"победа", "what":"Камень", "how":"Кирка", "howl":"кирку"}
62
- (Победа "чем", по этому "победа")
63
-
64
- 3. Пользователь: 'Что: "Россия" - Чем: "Негерия"'
65
- Ответ:
66
-
67
- {"whate":"🇷🇺", "howe":"🇳🇬", "text":"Негерия стала новой колонией России!", "succ":"проигрыш", "what":"Россия", "how":"Негерия", "howl":"негерию"}
68
- (Победа "что", по этому "проигрыш")
69
-
70
- 4. Пользователь: "Что: "Холод" - Чем: "Гитлер"
71
- Ответ:
72
-
73
- {"whate":"❄️", "howe":"👨‍✈️", "text":"Гитлер холоден, как лёд, но он не может победить сам холод!", "succ":"проигрыш", "what":"Холод", "how":"Гитлер", "howl":"гитлера"}
74
- (Победа "что", по этому "проигрыш")
75
-
76
- 5. Пользователь: "Что: "Негерия" - Чем: "США"
77
- Ответ:
78
-
79
- {"whate":"🇳🇬", "howe":"🇺🇸", "text":"Слишком сильный противник! США быстро раздавили Негерию!", "succ":"победа", "what":"Негерия", "how":"США", "howl":"сша"}
80
- (Победа "чем", по этому "победа")
81
-
82
- 6. Пользователь: "Что: "Вода + время" - Чем: "лава"
83
- Ответ:
84
-
85
- {"whate":"💧⌛️", "howe":"🌋", "text":"Даже со временем вода не может одолеть жаркую лаву!", "succ":"победа", "what":"Вода + время", "how":"Лава", "howl":"лаву"}
86
- (Победа "чем", по этому "победа")
87
-
88
- 7. Пользователь: "Что: "Лень" - Чем: "Послать лень нафиг"
89
- Ответ (по скольку пользователю будет нечего ответить на "лень нафиг", здесь стоит "посылание"):
90
-
91
- {"whate":"🦥", "howe":"🖕", "text":"Послать лень нафиг — это верный способ победить её!", "succ":"победа", "what":"Лень", "how":"Посылание", "howl":"посылание"}
92
- (Победа "чем", по этому "победа")
93
-
94
- 8. Пользователь: "Что: "Развлечения" - Чем: "хуйня"
95
- Ответ (по скольку развлечения это лучше и важнее чем хуйня, это проигрыш, потому что чем не победил что. хуйня проигрывает важному):
96
-
97
- {"whate":"🎭", "howe":"💩", "text":"Хуйня — это хуйня, а развлечения — это развлечения. Хуйня не может победить развлечения!", "succ":"проигрыш", "what":"Развлечения", "how":"Хуйня", "howl":"хуйню"}
98
- (Победа "что", по этому "проигрыш")
99
-
100
- 9. Пользователь: "Что: "Хуйня" - Чем: "Дела"
101
- Ответ (по скольку дела важные, а хуйня бесполезна, выигрывают дела):
102
-
103
- {"whate":"💩", "howe":"💼", "text":"Дела — это дела, а хуйня — это хуйня. Хуйня не может победить дела!", "succ":"победа", "what":"Хуйня", "how":"Дела", "howl":"дела"}
104
- (Победа "чем", по этому "победа")
105
-
106
- 10. Пользователь: "Что: "Камень" - Чем: "хуй"
107
- Ответ:
108
-
109
- {"whate":"🪨", "howe":"🍆", "text":"Камень твёрдый и прочный, а хуй мягкий и гибкий. Камень легко раздавит хуй!", "succ":"проигрыш", "what":"Камень", "how":"Хуй", "howl":"хуй"}
110
- (Победа "что" (предмет что (Камень) раздовил чем (хуй)), по этому "проигрыш")
111
-
112
- 10. Пользователь: "Что: "Молоток" - Чем: "хуй"
113
- Ответ:
114
-
115
- {"whate":"🔨", "howe":"🍆", "text":"Молот твёрдый и тяжёлый, а хуй мягкий и гибкий. Молот легко раздавит хуй!", "succ":"проигрыш", "what":"Молот", "how":"Хуй", "howl":"хуй"}
116
- (Победа "что" (предмет что (молоток) раздовил чем (хуй), а наоборот), по этому "проигрыш")
117
-
118
- 12. Пользователь: "Что: "Ядерный взрыв" - Чем: "бог"
119
- Ответ:
120
-
121
- {"whate":"☢️", "howe":"👼", "succ":"победа", "text":"Даже ядерный взрыв не может победить всемогущего бога!", "what":"Ядерный взрыв", "how":"Бог", "howl":"бога"}
122
- ("чем" сильнее чем "что", по этому "п"" - "победа)`;
123
 
124
  app.post('/generate', async (req, res) => {
125
  res.status(500).json({ content: '+ошибка+❗ Вы используете устаревшую версию АромаАрт. Установите версию 1.3.1 и более.-ошибка-' });
126
  });
127
 
128
  app.post('/cr', async (req, res) => {
129
- const promptt = req.body.prompt;
130
- const apiKey = req.body.api || openai_key;
131
 
132
- if (!promptt) {
133
- return res.status(400).json("wait"); // Не удалось принять данные
134
  }
135
 
136
  try {
137
- const response = await axios.post('https://geminiyufi.vercel.app/v1/chat/completions', {
138
- prompt: `${start}\n\n---\n\n${promptt}`,
139
  max_tokens: 2000,
140
  temperature: 0.8,
141
- // presence_penalty: 0.0,
142
- //frequency_penalty: -0.2,
143
- model: "gemini-1.5-pro-latest",
144
- //model: "gemini-1.5-flash-latest",
145
  }, {
146
  headers: {
147
  'Authorization': `Bearer ${apiKey}`,
@@ -149,8 +69,8 @@ app.post('/cr', async (req, res) => {
149
  },
150
  });
151
 
152
- if (response.data.choices && response.data.choices.length > 0 && response.data.choices[0].message) {
153
- const content = response.data.choices[0].message.content.trim();
154
  console.log(content);
155
  res.json({ content });
156
  } else {
 
5
  const app = express();
6
  app.use(express.json());
7
 
8
+ const gemini_key = process.env.OPENAI_KEY;
9
 
10
  const limiter = rateLimit({
11
  windowMs: 5 * 1000, // 30 секунд
12
+ max: 1, // лимит каждую 30 секунд на IP
13
  handler: function (req, res) {
14
  return res.status(429).json("wait");
15
  },
 
23
  СТРОГО ПО ПРАВИЛАМ, ПО ИНСТРУКЦИИ! НЕ ПУТОЙ "ЧТО" И "ЧЕМ"
24
 
25
  ---
26
+ **НЕ ПУТОЙ "ЧТО" И "ЧЕМ"! ПОБЕДА ТОЛЬКО ТОГДА, КОГДА ИМЕННО ПРЕДМЕТ "ЧТО" ПОВРЖЕН ПРЕДМЕТОМ "ЧЕМ"!! НЕ В КОЕМ СЛУЧАЕ НЕ НАОБОРОТ! ИНАЧЕ ПРОИГРЫШ!**
27
 
28
  **ЕСЛИ предмет "ЧТО" победил предмет "ЧЕМ" - то это ПРОИГРЫШ!!! Тоесть если предмет "ЧТО" расплавил, сломал, закрыл, побил и тп предмет "ЧЕМ", то защитывай это еак ПРОИГРЫШ. А если предмет "ЧЕМ" победил над предметом "ЧТО", то защитывай ПОБЕДУ!**
29
 
 
36
  Твой ответ (должен выглядеть так, в структуре android json. БЕЗ markdown и БЕЗ посторонних комментариев!): '{"whate":"*эмодзи предмета ЧТО*", "howe":"*эмодзи предмета ЧЕМ*", "text":"*шутливое объяснение выигрыша или почему проиграли (почему выиграл что, а не чем)*", "succ":"победа"(если предмет ЧЕМ смог одолеть предмет ЧТО) или "проигрыш"(если предмет ЧЕМ НЕ смог одолеть предмет ЧТО), "what":"*название ЧТО с заглавной буквы в иминительном падеже*", "how":"*название ЧЕМ с заглавной буквы в иминительном падеже*", "howl":"*название ЧЕМ с маленькой буквы в винительном падеже*"}'
37
 
38
  ---
 
39
  **Важно**:
40
 
41
  - Не путай "Что" и "Чем". "Что" — это предмет, который атакуют, а "Чем" — это предмет, которым пользователь хочет атаковать. (**НЕ ВКОЕМ СЛУЧАЕ НЕ НАОБОРОТ!!!**)
42
  - Убедись, что победа возможна технически или физически, без простых решений.
43
  - Сюжет может пойти в АБСОЛЮТНО ЛЮБЫЕ ТЕМЫ, будь то политика, пошлота, запрещёнка, насилование и тд. веть всё это лишь игра в кмн
44
 
45
+ ---`;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  app.post('/generate', async (req, res) => {
48
  res.status(500).json({ content: '+ошибка+❗ Вы используете устаревшую версию АромаАрт. Установите версию 1.3.1 и более.-ошибка-' });
49
  });
50
 
51
  app.post('/cr', async (req, res) => {
52
+ const prompt = req.body.prompt;
53
+ const apiKey = req.body.api || gemini_key;
54
 
55
+ if (!prompt) {
56
+ return res.status(400).json({ error: 'error' }); // Не удалось принять данные
57
  }
58
 
59
  try {
60
+ const response = await axios.post('https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:streamGenerateContent?alt=sse', {
61
+ contents: [{'role': 'system', 'content': start}, {'role': 'user', 'content': prompt}],
62
  max_tokens: 2000,
63
  temperature: 0.8,
64
+ // model: "gemini-1.5-pro-latest",
 
 
 
65
  }, {
66
  headers: {
67
  'Authorization': `Bearer ${apiKey}`,
 
69
  },
70
  });
71
 
72
+ if (response.data.choices && response.data.choices.length > 0 && response.data.choices[0].parts) {
73
+ const content = response.data.choices[0].parts[0].content.trim();
74
  console.log(content);
75
  res.json({ content });
76
  } else {