diff --git a/src/agent/agent.js b/src/agent/agent.js index 8e211ef..72eb31d 100644 --- a/src/agent/agent.js +++ b/src/agent/agent.js @@ -138,6 +138,8 @@ export class Agent { console.error('Error handling message:', error); } } + + this.respondFunc = respondFunc this.bot.on('whisper', respondFunc); if (settings.profiles.length === 1) diff --git a/src/agent/agent_proxy.js b/src/agent/agent_proxy.js index 500dcab..b0333b1 100644 --- a/src/agent/agent_proxy.js +++ b/src/agent/agent_proxy.js @@ -42,6 +42,14 @@ class AgentServerProxy { console.log(`Restarting agent: ${agentName}`); this.agent.cleanKill(); }); + + this.socket.on('send-message', (agentName, message) => { + try { + this.agent.respondFunc("NO USERNAME", message); + } catch (error) { + console.error('Error: ', JSON.stringify(error, Object.getOwnPropertyNames(error))); + } + }); } login() { diff --git a/src/server/mind_server.js b/src/server/mind_server.js index b94cccf..eed71d7 100644 --- a/src/server/mind_server.js +++ b/src/server/mind_server.js @@ -116,6 +116,18 @@ export function createMindServer(port = 8080) { }, 2000); }); + socket.on('send-message', (agentName, message) => { + if (!inGameAgents[agentName]) { + console.warn(`Agent ${agentName} not logged in, cannot send message via MindServer.`); + return + } + try { + console.log(`Sending message to agent ${agentName}: ${message}`); + inGameAgents[agentName].emit('send-message', agentName, message) + } catch (error) { + console.error('Error: ', error); + } + }); }); server.listen(port, 'localhost', () => { @@ -148,4 +160,4 @@ function stopAllAgents() { // Optional: export these if you need access to them from other files export const getIO = () => io; export const getServer = () => server; -export const getConnectedAgents = () => connectedAgents; \ No newline at end of file +export const getConnectedAgents = () => connectedAgents; diff --git a/src/server/public/index.html b/src/server/public/index.html index 1f7951f..c66a986 100644 --- a/src/server/public/index.html +++ b/src/server/public/index.html @@ -80,6 +80,7 @@ ${agent.in_game ? ` + ` : ` `} @@ -110,6 +111,10 @@ function shutdown() { socket.emit('shutdown'); } + + function sendMessage(agentName, message) { + socket.emit('send-message', agentName, message) + } - \ No newline at end of file +