Compare commits

..

No commits in common. "b88337c39827abbc3c139bb765fee33c6bddef7d" and "f269781226aa72221820a5bdf0a84bcdd71d4490" have entirely different histories.

7 changed files with 8 additions and 31 deletions

7
app.js
View File

@ -296,18 +296,13 @@ function sendMessage(e) {
onMessageAdded(config.userName, message, config.userAvatar);
let peersPublicKeys = [];
peersPublicKeys.push([...swarm.connections].map(peer => peer.remotePublicKey.toString('hex')));
peersPublicKeys = peersPublicKeys.flat(1);
peersPublicKeys.push(swarm.keyPair.publicKey.toString('hex'));
const messageObj = JSON.stringify({
type: 'message',
name: config.userName,
message,
avatar: config.userAvatar,
topic: b4a.toString(currentRoom.topic, 'hex'),
peers: peersPublicKeys,
peers: [...swarm.connections].map(peer => peer.remotePublicKey.toString('hex')),
timestamp: Date.now(),
readableTimestamp: new Date().toLocaleString(), // Added human-readable timestamp
});

View File

@ -42,7 +42,7 @@ loadCommands().then(commands => {
if (message.type == "icon") return;
console.log(message);
console.log(`Message received from ${message.name}@${message.topic} at ${new Date(message.timestamp).toLocaleTimeString()}: ${message.message}`);
console.log(`Message received from ${message.name}@${peer} at ${new Date(message.timestamp).toLocaleTimeString()}: ${message.message}`);
// Check if the message starts with a command prefix
if (message.message.startsWith('!')) {
@ -61,7 +61,7 @@ loadCommands().then(commands => {
bot.on('onBotJoinRoom', () => {
console.log("Bot is ready!");
bot.sendMessageToAll(process.env.ON_READY_MESSAGE);
bot.sendMessage(process.env.ON_READY_MESSAGE);
});
bot.joinChatRoom(process.env.LINKUP_ROOM_ID);

View File

@ -4,6 +4,6 @@ export default {
handler: function(bot, args, message) {
const responses = ['It is certain.', 'It is decidedly so.', 'Without a doubt.', 'Yes - definitely.', 'You may rely on it.', 'As I see it, yes.', 'Most likely.', 'Outlook good.', 'Yes.', 'Signs point to yes.', 'Reply hazy, try again.', 'Ask again later.', 'Better not tell you now.', 'Cannot predict now.', 'Concentrate and ask again.', 'Don\'t count on it.', 'My reply is no.', 'My sources say no.', 'Outlook not so good.', 'Very doubtful.'];
const randomIndex = Math.floor(Math.random() * responses.length);
bot.sendMessage(message.peers, responses[randomIndex]);
bot.sendMessage(responses[randomIndex]);
}
};

View File

@ -3,6 +3,6 @@ export default {
description: 'Greet the user',
handler: function(bot, args, message) {
const userName = message.name;
bot.sendMessage(message.peers, `Hello, ${userName}! How can I assist you today?`);
bot.sendMessage(`Hello, ${userName}! How can I assist you today?`);
}
};

View File

@ -2,6 +2,6 @@
export default {
handler: function(bot, args, message) {
bot.sendMessage(message.peers, 'Pong!');
bot.sendMessage('Pong!');
}
};

View File

@ -1,10 +0,0 @@
class ChatRoom {
public ChatRoom(topic, peers) {
this.topic = topic;
this.peers = peers;
}
}
export default ChatRoom;

View File

@ -32,18 +32,10 @@ class Client extends EventEmitter {
});
}
sendMessage(roomPeers, message) {
sendMessage(message) {
console.log('Bot name:', this.botName);
const timestamp = Date.now(); // Generate timestamp
const peers = [...this.swarm.connections].filter(peer => roomPeers.includes(peer.remotePublicKey.toString('hex'))); // We remove all the peers that arent included in a room
const data = JSON.stringify({name: this.botName, message, timestamp}); // Include timestamp
for (const peer of peers) peer.write(data);
}
sendMessageToAll(message) {
console.log('Bot name:', this.botName);
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
for (const peer of peers) peer.write(data);
}