attempt to support THREAD_CREATE but it explodes
This commit is contained in:
		
							parent
							
								
									08d3f3d804
								
							
						
					
					
						commit
						d666c0aedb
					
				
					 4 changed files with 38 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -27,11 +27,13 @@ function getDiscordParseCallbacks(message, useHTML) {
 | 
			
		|||
		},
 | 
			
		||||
		/** @param {{id: string, type: "discordChannel"}} node */
 | 
			
		||||
		channel: node => {
 | 
			
		||||
			const {room_id, name, nick} = db.prepare("SELECT room_id, name, nick FROM channel_room WHERE channel_id = ?").get(node.id)
 | 
			
		||||
			if (room_id && useHTML) {
 | 
			
		||||
				return `<a href="https://matrix.to/#/${room_id}">#${nick || name}</a>`
 | 
			
		||||
			const row = db.prepare("SELECT room_id, name, nick FROM channel_room WHERE channel_id = ?").get(node.id)
 | 
			
		||||
			if (!row) {
 | 
			
		||||
				return `<#${node.id}>` // fallback for when this channel is not bridged
 | 
			
		||||
			} else if (useHTML) {
 | 
			
		||||
				return `<a href="https://matrix.to/#/${row.room_id}">#${row.nick || row.name}</a>`
 | 
			
		||||
			} else {
 | 
			
		||||
				return `#${nick || name}`
 | 
			
		||||
				return `#${row.nick || row.name}`
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		/** @param {{animated: boolean, name: string, id: string, type: "discordEmoji"}} node */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,10 @@ const utils = {
 | 
			
		|||
			eventDispatcher.checkMissedMessages(client, message.d)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		} else if (message.t === "THREAD_CREATE") {
 | 
			
		||||
			client.channels.set(message.d.id, message.d)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		} else if (message.t === "CHANNEL_UPDATE" || message.t === "THREAD_UPDATE") {
 | 
			
		||||
			client.channels.set(message.d.id, message.d)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -81,13 +85,19 @@ const utils = {
 | 
			
		|||
			if (message.t === "CHANNEL_UPDATE") {
 | 
			
		||||
				await eventDispatcher.onChannelOrThreadUpdate(client, message.d, false)
 | 
			
		||||
 | 
			
		||||
			} else if (message.t === "THREAD_CREATE") {
 | 
			
		||||
				console.log(message)
 | 
			
		||||
				// await eventDispatcher.onThreadCreate(client, message.d)
 | 
			
		||||
 | 
			
		||||
			} else if (message.t === "THREAD_UPDATE") {
 | 
			
		||||
				await eventDispatcher.onChannelOrThreadUpdate(client, message.d, true)
 | 
			
		||||
 | 
			
		||||
			} else if (message.t === "MESSAGE_CREATE") {
 | 
			
		||||
				console.log(message)
 | 
			
		||||
				await eventDispatcher.onMessageCreate(client, message.d)
 | 
			
		||||
 | 
			
		||||
			} else if (message.t === "MESSAGE_UPDATE") {
 | 
			
		||||
				console.log(message)
 | 
			
		||||
				await eventDispatcher.onMessageUpdate(client, message.d)
 | 
			
		||||
 | 
			
		||||
			} else if (message.t === "MESSAGE_DELETE") {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -101,7 +101,18 @@ module.exports = {
 | 
			
		|||
		}
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param {import("./discord-client")} client
 | 
			
		||||
	 * @param {import("discord-api-types/v10").APIChannel} thread
 | 
			
		||||
	 */
 | 
			
		||||
	async onThreadCreate(client, thread) {
 | 
			
		||||
		console.log(thread)
 | 
			
		||||
		const parentRoomID = db.prepare("SELECT room_id FROM channel_room WHERE channel_id = ?").get(thread.parent_id)
 | 
			
		||||
		if (!parentRoomID) return // Not interested in a thread if we aren't interested in its wider channel
 | 
			
		||||
		await createRoom.syncRoom(thread.id)
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param {import("./discord-client")} client
 | 
			
		||||
	 * @param {import("discord-api-types/v10").GatewayChannelUpdateDispatchData} channelOrThread
 | 
			
		||||
	 * @param {boolean} isThread
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue