forked from cadence/out-of-your-element
completed user syncing. it occurs on message send
This commit is contained in:
parent
f418d51e55
commit
22dde9faf7
4 changed files with 90 additions and 4 deletions
|
@ -1,5 +1,7 @@
|
|||
// @ts-check
|
||||
|
||||
const assert = require("assert")
|
||||
|
||||
const passthrough = require("../../passthrough")
|
||||
const { discord, sync, db } = passthrough
|
||||
/** @type {import("../converters/message-to-event")} */
|
||||
|
@ -15,11 +17,14 @@ const createRoom = sync.require("../actions/create-room")
|
|||
* @param {import("discord-api-types/v10").GatewayMessageCreateDispatchData} message
|
||||
*/
|
||||
async function sendMessage(message) {
|
||||
assert.ok(message.member)
|
||||
|
||||
const event = messageToEvent.messageToEvent(message)
|
||||
const roomID = await createRoom.ensureRoom(message.channel_id)
|
||||
let senderMxid = null
|
||||
if (!message.webhook_id) {
|
||||
senderMxid = await registerUser.ensureSimJoined(message.author, roomID)
|
||||
await registerUser.syncUser(message.author, message.member, message.guild_id, roomID)
|
||||
}
|
||||
const eventID = await api.sendEvent(roomID, "m.room.message", event, senderMxid)
|
||||
db.prepare("INSERT INTO event_message (event_id, message_id, part) VALUES (?, ?, ?)").run(eventID, message.id, 0) // 0 is primary, 1 is supporting
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue