From 9637fd512e68787c0bf5aca52d7d9a70a4fd6519 Mon Sep 17 00:00:00 2001 From: Yarmo Mackenbach Date: Thu, 7 Apr 2022 10:32:51 +0200 Subject: Fix introductions --- src/db.js | 2 +- src/index.js | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/db.js b/src/db.js index e16c827..2e3de3c 100644 --- a/src/db.js +++ b/src/db.js @@ -90,7 +90,7 @@ const getUsers = async (roomId) => { data.rooms[roomHash].events.forEach((event) => { if (event.type === 'introduction') { - userIds.push(event.userId) + userIds.push(event.data.userId) } }) diff --git a/src/index.js b/src/index.js index ae7cfe0..1fb2c4e 100644 --- a/src/index.js +++ b/src/index.js @@ -70,6 +70,8 @@ matrixClient.on('Room.timeline', async (event, room, toStartOfTimeline) => { // Get the message const message = `${event.getContent().body}` + // Idea: use event.getContent().formatted_body to prevent account name collision + // -> have fun parsing HTML // Log the message console.log('(%s) %s :: %s', room.name, event.getSender(), message) @@ -153,13 +155,9 @@ matrixClient.on('Room.timeline', async (event, room, toStartOfTimeline) => { break case 'hi': - if ( - (await db.getUsers(room.roomId)).includes(event.getSender()) - ) { - sendMessage( - room.roomId, - `👋 We've already met, ${event.getSender()}` - ) + from = args[0] || event.getSender() + if (users.includes(from)) { + sendMessage(room.roomId, `👋 We've already met, ${from}`) return } @@ -168,12 +166,14 @@ matrixClient.on('Room.timeline', async (event, room, toStartOfTimeline) => { timestamp: event.getDate(), roomId: room.roomId, userId: event.getSender(), - data: {}, + data: { + userId: from, + }, }) .then(() => { sendMessage( room.roomId, - `👋 Pleased to meet you, ${event.getSender()}` + `👋 Pleased to meet you, ${from}` ) }) .catch((e) => { -- cgit v1.2.3