diff --git a/.gitignore b/.gitignore index 386f3722..3a2fb959 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ sphinx.db binaries/nodeapp-macos binaries/nodeapp-alpine -dist dist/public/uploads dist/config/app.json diff --git a/dist/src/builtin/ml.js b/dist/src/builtin/ml.js new file mode 100644 index 00000000..0dcd63fe --- /dev/null +++ b/dist/src/builtin/ml.js @@ -0,0 +1,95 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sleep = exports.init = exports.CALLBACKS = exports.ML_PREFIX = void 0; +const Sphinx = require("sphinx-bot"); +const botapi_1 = require("../controllers/botapi"); +const models_1 = require("../models"); +const utill_1 = require("./utill"); +const config_1 = require("../utils/config"); +const config = (0, config_1.loadConfig)(); +const msg_types = Sphinx.MSG_TYPE; +let initted = false; +exports.ML_PREFIX = '/ml'; +exports.CALLBACKS = {}; +function init() { + if (initted) + return; + initted = true; + const client = new Sphinx.Client(); + client.login('_', botapi_1.finalAction); + client.on(msg_types.MESSAGE, (message) => __awaiter(this, void 0, void 0, function* () { + // if (message.author?.bot !== botPrefix) return + const isAdmin = message.member.roles.find((role) => role.name === 'Admin'); + try { + const tribe = (yield models_1.models.Chat.findOne({ + where: { uuid: message.channel.id }, + })); + const bot = yield (0, utill_1.findBot)({ botPrefix: '/ML', tribe }); + let meta = JSON.parse(bot.meta || `{}`); + const url = meta.url; + if (!url) { + const embed = new Sphinx.MessageEmbed() + .setAuthor('ML Bot') + .setDescription('not configured') + .setOnlyOwner(isAdmin ? true : false); + message.channel.send({ embed }); + return; + } + let host_name = config.host_name; + if (!host_name.startsWith('http')) { + host_name = `https://${host_name}`; + } + const r = yield fetch(`${url}/send-message-llm`, { + method: 'POST', + body: JSON.stringify({ + message: message.content, + webhook: `${host_name}/ml`, + }), + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + }); + const j = yield r.json(); + if (!j.process_id) { + const embed = new Sphinx.MessageEmbed() + .setAuthor('ML Bot') + .setDescription('failed to process message') + .setOnlyOwner(isAdmin ? true : false); + message.channel.send({ embed }); + return; + } + exports.CALLBACKS[j.process_id] = function (msg) { + const embed = new Sphinx.MessageEmbed() + .setAuthor('ML Bot') + .setDescription(msg) + .setOnlyOwner(isAdmin ? true : false); + // .setOnlyUser(message.member.id) + message.channel.send({ embed }); + }; + setTimeout(() => { + delete exports.CALLBACKS[j.process_id]; + }, 5 * 60 * 1000); + } + catch (e) { + console.error(e); + } + })); +} +exports.init = init; +function sleep(ms) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => setTimeout(resolve, ms)); + }); +} +exports.sleep = sleep; +//# sourceMappingURL=ml.js.map \ No newline at end of file diff --git a/dist/src/builtin/ml.js.map b/dist/src/builtin/ml.js.map new file mode 100644 index 00000000..4159163c --- /dev/null +++ b/dist/src/builtin/ml.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ml.js","sourceRoot":"","sources":["../../../src/builtin/ml.ts"],"names":[],"mappings":"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"} \ No newline at end of file