ddbot.js-0374 2.1.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,7 +33,7 @@
33
33
  Окей...
34
34
  Сейчас я вам разкажу как работает bot/BotManager.
35
35
 
36
- neiky-ddracebot.js
36
+ teeworlds
37
37
  #### Базовые методы
38
38
  У нас есть :
39
39
  1. bot.createBot()
@@ -70,7 +70,7 @@ neiky-ddracebot.js
70
70
  - Массив имен всех активных ботов
71
71
  10. bot.getBotClient()
72
72
  1. Принимает уникальное имя бота.
73
- - Возвращает клиент neiky-ddracebot.js
73
+ - Возвращает клиент teeworlds (ну изза того что я перепутал пакеты на самом деле там teeworlds пакет)
74
74
  11. bot.removeBot()
75
75
  Удаляет бота полностью.
76
76
  1. Принимает уникальное имя бота.
@@ -78,10 +78,10 @@ neiky-ddracebot.js
78
78
  12. bot.getBot()
79
79
  1. Принимает уникальное имя бота.
80
80
  - Возвращает прокси-объект бота.
81
- 13. bot.(Тут нижнее подчеркивание, я не могу поставить из-за обсидиана, он ломается)setupBotEvents()
82
- Заставляет ивенты работать. Изпользуеться в bot.createBot() чтобы вы могли делать все проще и вам не нужно было получать оригинальный клиент neiky-ddracebot.js
81
+ 13. bot._setupBotEvents()
82
+ Заставляет ивенты работать. Изпользуеться в bot.createBot() чтобы вы могли делать все проще и вам не нужно было получать оригинальный клиент teeworlds
83
83
  1. Принимает уникальное имя бота.
84
- 2. Принимает клиент neiky-ddracebot.js
84
+ 2. Принимает клиент teeworlds
85
85
  Ничего не возвращает.
86
86
  14. bot.getPlayerList()
87
87
  1. Принимает уникальное имя бота.
@@ -2,7 +2,7 @@
2
2
  Окей...
3
3
  Сейчас я вам разкажу как работает bot/BotManager.
4
4
 
5
- neiky-ddracebot.js
5
+ teeworlds
6
6
  ## Базовые методы
7
7
  У нас есть :
8
8
  1. bot.createBot()
@@ -39,7 +39,7 @@ neiky-ddracebot.js
39
39
  - Массив имен всех активных ботов
40
40
  10. bot.getBotClient()
41
41
  1. Принимает уникальное имя бота.
42
- - Возвращает клиент neiky-ddracebot.js
42
+ - Возвращает клиент teeworlds
43
43
  11. bot.removeBot()
44
44
  Удаляет бота полностью.
45
45
  1. Принимает уникальное имя бота.
@@ -48,9 +48,9 @@ neiky-ddracebot.js
48
48
  1. Принимает уникальное имя бота.
49
49
  - Возвращает прокси-объект бота.
50
50
  13. bot.(Тут нижнее подчеркивание, я не могу поставить из-за обсидиана, он ломается)setupBotEvents()
51
- Заставляет ивенты работать. Изпользуеться в bot.createBot() чтобы вы могли делать все проще и вам не нужно было получать оригинальный клиент neiky-ddracebot.js
51
+ Заставляет ивенты работать. Изпользуеться в bot.createBot() чтобы вы могли делать все проще и вам не нужно было получать оригинальный клиент teeworlds
52
52
  1. Принимает уникальное имя бота.
53
- 2. Принимает клиент neiky-ddracebot.js
53
+ 2. Принимает клиент teeworlds
54
54
  Ничего не возвращает.
55
55
  14. bot.getPlayerList()
56
56
  1. Принимает уникальное имя бота.
@@ -44,7 +44,7 @@ async function main() {
44
44
 
45
45
  bot.connectBot(botName); // подкюлчаем
46
46
 
47
- const botClient = bot.getBotClient(botName); // получаем оригинальный клиент neiky-ddracebot.js
47
+ const botClient = bot.getBotClient(botName); // получаем оригинальный клиент teeworlds
48
48
 
49
49
  // Подписка на событие подключения
50
50
  bot.on(`${botName}:connect`, () => {
@@ -29,7 +29,7 @@ async function main() {
29
29
 
30
30
  bot.connectBot(botName); // подкюлчаем
31
31
 
32
- const botClient = bot.getBotClient(botName); // получаем оригинальный клиент neiky-ddracebot.js
32
+ const botClient = bot.getBotClient(botName); // получаем оригинальный клиент teeworlds
33
33
 
34
34
  // Подписка на событие подключения
35
35
  bot.on(`${botName}:connect`, () => {
@@ -48,7 +48,7 @@ async function main() {
48
48
  if (Date.now() - timemsg > 6000) {
49
49
  timemsg = Date.now(); // устанавливаем текущее время
50
50
  if (text && autormsg) {
51
- botClient.game.Say(`${autormsg}: ${text}`); // отправка сообения (neiky-ddracebot.js)
51
+ botClient.game.Say(`${autormsg}: ${text}`); // отправка сообения (teeworlds)
52
52
  }
53
53
  }
54
54
  });
package/package.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "dependencies": {
3
3
  "chalk": "^4.1.2",
4
4
  "loger0374": "^0.0.2",
5
- "neiky-ddracebot.js": "^2.4.0"
5
+ "teeworlds": "^2.5.8"
6
6
  },
7
7
  "name": "ddbot.js-0374",
8
- "version": "2.1.2",
8
+ "version": "3.0.0",
9
9
  "description": "ddbot.js — это Node.js проект для автоматизации и управления ботами, а также работы с картами и логами.",
10
10
  "main": "./index.js",
11
11
  "scripts": {
package/src/bot/bot.js CHANGED
@@ -1,5 +1,7 @@
1
+ // 0374flop MIT
2
+
1
3
  "use strict";
2
- const DDRaceBot = require('neiky-ddracebot.js');
4
+ const teeworlds = require('teeworlds');
3
5
  const EventEmitter = require('events');
4
6
  const DebugLogger = require('Loger0374');
5
7
  const logDebuger = new DebugLogger('BotManager', false, true, null, true);
@@ -14,9 +16,15 @@ function random(min, max) {
14
16
  class BotManager extends EventEmitter {
15
17
  /**
16
18
  * Конструктор класса BotManager
19
+ * @param {Object|null} teeWorlds - Опциональный объект Teeworlds для использования вместо стандартного
17
20
  */
18
- constructor() {
21
+ constructor(teeWorlds = null) {
19
22
  super();
23
+ if (typeof teeWorlds === Object) {
24
+ this.TW = teeWorlds;
25
+ } else {
26
+ this.TW = teeworlds;
27
+ }
20
28
  this.activeBots = new Map();
21
29
  this.botCounter = 0;
22
30
  this.botFreezeStates = new Map(); // Хранит состояние заморозки для каждого бота
@@ -66,7 +74,7 @@ class BotManager extends EventEmitter {
66
74
  const serverPort = port; // порт
67
75
 
68
76
  if (!serverIp || !serverPort) {
69
- throw new Error('и где мы возьмём айпи или порт? ты можешь нормально ввести адрес?');
77
+ throw new Error('Invalid server address or port'+': '+fulladdress+'\n, ip: '+serverIp+', port: '+serverPort);
70
78
  }
71
79
 
72
80
  const uniqueBotName = this.generateUniqueBotName(botName);
@@ -80,8 +88,10 @@ class BotManager extends EventEmitter {
80
88
  country: 0
81
89
  };
82
90
  logDebug('creating bot client');
91
+
92
+ let TW = this.TW; // teeworlds
83
93
  // то самое место откуда создаеться клинт бота
84
- const client = new DDRaceBot.Client(serverIp, serverPort, botName, { // изпользуем имя без уникального суффикса чтобы было одно имя.
94
+ const client = new TW.Client(serverIp, serverPort, botName, { // изпользуем имя без уникального суффикса чтобы было одно имя.
85
95
  identity: identity // то самое индентити для скина и тд
86
96
  });
87
97
 
@@ -121,7 +131,7 @@ class BotManager extends EventEmitter {
121
131
  return false; // бот не найден
122
132
  }
123
133
  try {
124
- botInfo.client.joinDDRaceServer(); // то самое место подключения
134
+ botInfo.client.connect(); // то самое место подключения
125
135
  return true; // да
126
136
  } catch (error) { // фак
127
137
  logDebug(error);
@@ -184,7 +194,7 @@ class BotManager extends EventEmitter {
184
194
  * @returns {boolean} - true если бот подключен, иначе false
185
195
  */
186
196
  isBotConnected(botName) {
187
- const botInfo = getBotInfo(botName); // получаем инфу о боте
197
+ const botInfo = this.getBotInfo(botName); // получаем инфу о боте
188
198
  return botInfo ? botInfo.isConnected : false; // подключен? да или нет
189
199
  }
190
200
 
@@ -301,8 +311,8 @@ class BotManager extends EventEmitter {
301
311
  clearInterval(chatinterval);
302
312
  });
303
313
 
304
- client.on('connection_au_serveur_ddrace', () => { // Шок контент бот зашел на сервер
305
- const botInfo = this.activeBots.get(botName); // получаем инфу о боте
314
+ client.on('connected', () => { // Шок контент бот зашел на сервер
315
+ const botInfo = this.getBotInfo(botName); // получаем инфу о боте
306
316
  if (!botInfo) {
307
317
  return; // бот не найден фак
308
318
  } else {
@@ -315,7 +325,7 @@ class BotManager extends EventEmitter {
315
325
 
316
326
  client.on('disconnect', (reason) => { // бот отключился от сервера
317
327
  if (!reason) return; // На всякий случай, потому что если специально отключаеться то может не быть
318
- let botInfo = this.activeBots.get(botName); // получаем инфу о боте
328
+ let botInfo = this.getBotInfo(botName); // получаем инфу о боте
319
329
  if (!botInfo) {
320
330
  return; // бот не найден фак
321
331
  } else {
@@ -352,7 +362,7 @@ class BotManager extends EventEmitter {
352
362
  this.emit(`${botName}:disconnected`, reason, reconnectTime);
353
363
  logDebug(`${botName} disconnected due to: `, reason, '\nand reconnecting in ', reconnectTime, 'ms');
354
364
  setTimeout(() => {
355
- client.joinDDRaceServer();
365
+ client.connect();
356
366
  this.emit(`${botName}:reconnect`, reconnectTime);
357
367
  logDebug(`${botName} reconnect now`);
358
368
  }, reconnectTime);
@@ -410,7 +420,7 @@ class BotManager extends EventEmitter {
410
420
  chatinterval = setInterval(() => {
411
421
  s.clear();
412
422
  }, 1000); // чистка
413
- client.on('message_au_serveur', (msg) => {
423
+ client.on('message', (msg) => {
414
424
  this.emit(`${botName}:message`, msg); // Сырое сообщение, без фильтрации
415
425
 
416
426
  const msgraw = msg; // ориг для чата на всякий