mirror of
https://github.com/ReVanced/revanced-bots.git
synced 2026-01-29 22:21:02 +00:00
feat: refactor and new features (#7)
* feat: refactor and new features + Refactored the codebase + OCR support in bots + Server sends training data every minute + Not using collectors for Discord feedback buttons anymore + Fixed grammar mistakes + Configs are now seperated + Tokens are no longer in configs - Like feedback doesn't work for Discord yet * feat: remove feedback button once voted * feat: role blacklist * feat: thread name check * feat: error handler for training * fix: bot crashing when a webhook msg is sent * refactor: remove debugging lines * feat: allow fixing mistake at votes in discord bot
This commit is contained in:
86
packages/client/index.js
Normal file
86
packages/client/index.js
Normal file
@@ -0,0 +1,86 @@
|
||||
import { createConnection } from 'node:net';
|
||||
import { serialize, deserialize } from 'bson';
|
||||
import EventEmitter from 'node:events';
|
||||
|
||||
class HelperClient extends EventEmitter {
|
||||
constructor({ server }) {
|
||||
super();
|
||||
if (!server?.port) throw new Error('You did not specify the server port.');
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
connect() {
|
||||
this.client = createConnection(
|
||||
this.server.port,
|
||||
this.server.host ? this.server.host : 'localhost',
|
||||
() => {
|
||||
this.emit('connect');
|
||||
}
|
||||
);
|
||||
|
||||
this.client.on('data', (data) => {
|
||||
const eventData = deserialize(data, {
|
||||
allowObjectSmallerThanBufferSize: true
|
||||
});
|
||||
|
||||
switch (eventData.op) {
|
||||
case 2: {
|
||||
// The 'aiResponse' event.
|
||||
|
||||
this.emit('aiResponse', eventData);
|
||||
break;
|
||||
}
|
||||
|
||||
case 6: {
|
||||
// The 'ocrResponse' event.
|
||||
|
||||
this.emit('ocrResponse', eventData);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
sendData(data) {
|
||||
this.client.write(serialize(data));
|
||||
return;
|
||||
}
|
||||
|
||||
scanText(text, id) {
|
||||
this.sendData({
|
||||
op: 1,
|
||||
id,
|
||||
text
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
scanImage(url, id) {
|
||||
this.sendData({
|
||||
op: 5,
|
||||
id,
|
||||
url
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
sendTrainData(text, label) {
|
||||
this.sendData({
|
||||
op: 3,
|
||||
label,
|
||||
text
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
trainAI() {
|
||||
this.sendData({ op: 4 });
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
export default HelperClient;
|
||||
Reference in New Issue
Block a user