Some more changed to the bot structure #2

Merged
snxraven merged 5 commits from MiTask/LinkUp-P2P-Chat:main into main 2024-06-08 17:11:17 -04:00
2 changed files with 8 additions and 14 deletions
Showing only changes of commit 164efc5b72 - Show all commits

View File

@ -38,7 +38,7 @@ loadCommands().then(commands => {
const bot = new Client(process.env.LINKUP_ROOM_ID, botName); const bot = new Client(process.env.LINKUP_ROOM_ID, botName);
// We use Event Emitter here to handle new messages // We use Event Emitter here to handle new messages
bot.on(Event.onMessage, (peer, message) => { bot.on('onMessage', (peer, message) => {
if (message.type == "icon") return; if (message.type == "icon") return;
console.log(message); console.log(message);
@ -59,7 +59,7 @@ loadCommands().then(commands => {
} }
}); });
bot.on(Event.onBotJoinRoom, () => { bot.on('onBotJoinRoom', () => {
console.log("Bot is ready!"); console.log("Bot is ready!");
}); });

View File

@ -12,9 +12,9 @@ class Client extends EventEmitter {
setupSwarm() { setupSwarm() {
this.swarm.on('connection', (peer) => { this.swarm.on('connection', (peer) => {
peer.on('data', message => this.emit(Event.onMessage, peer, JSON.parse(message.toString()))); peer.on('data', message => this.emit('onMessage', peer, JSON.parse(message.toString())));
peer.on('error', e => { peer.on('error', e => {
this.emit(Event.onError, e); this.emit('onError', e);
console.error(`Connection error: ${e}`) console.error(`Connection error: ${e}`)
}); });
}); });
@ -25,9 +25,9 @@ class Client extends EventEmitter {
} }
joinChatRoom() { joinChatRoom() {
this.discovery = this.swarm.join(this.topicBuffer, { client: true, server: true }); this.discovery = this.swarm.join(this.topicBuffer, {client: true, server: true});
this.discovery.flushed().then(() => { this.discovery.flushed().then(() => {
this.emit(Event.onBotJoinRoom) this.emit('onBotJoinRoom')
console.log(`Bot ${this.botName} joined the chat room.`); console.log(`Bot ${this.botName} joined the chat room.`);
}); });
} }
@ -36,7 +36,7 @@ class Client extends EventEmitter {
console.log('Bot name:', this.botName); console.log('Bot name:', this.botName);
const timestamp = Date.now(); // Generate timestamp const timestamp = Date.now(); // Generate timestamp
const peers = [...this.swarm.connections]; const peers = [...this.swarm.connections];
const data = JSON.stringify({ name: this.botName, message, timestamp }); // Include timestamp const data = JSON.stringify({name: this.botName, message, timestamp}); // Include timestamp
for (const peer of peers) peer.write(data); for (const peer of peers) peer.write(data);
} }
@ -46,10 +46,4 @@ class Client extends EventEmitter {
} }
} }
enum Event { export default Client;
onMessage,
onError,
onBotJoinRoom
}
export default { Client, Event };