feat(events): add messageUpdate
This commit is contained in:
		
							parent
							
								
									5dbd4a84f5
								
							
						
					
					
						commit
						943b946e5b
					
				
					 3 changed files with 37 additions and 1 deletions
				
			
		|  | @ -14,6 +14,7 @@ import { messageCreate } from './messageCreate.ts' | |||
| import { resume } from './resume.ts' | ||||
| import { reconnect } from './reconnect.ts' | ||||
| import { messageDelete } from "./messageDelete.ts" | ||||
| import { messageUpdate } from "./messageUpdate.ts" | ||||
| 
 | ||||
| export const gatewayHandlers: { | ||||
|   [eventCode in GatewayEvents]: GatewayEventHandler | undefined | ||||
|  | @ -42,7 +43,7 @@ export const gatewayHandlers: { | |||
|   INVITE_CREATE: undefined, | ||||
|   INVITE_DELETE: undefined, | ||||
|   MESSAGE_CREATE: messageCreate, | ||||
|   MESSAGE_UPDATE: undefined, | ||||
|   MESSAGE_UPDATE: messageUpdate, | ||||
|   MESSAGE_DELETE: messageDelete, | ||||
|   MESSAGE_DELETE_BULK: undefined, | ||||
|   MESSAGE_REACTION_ADD: undefined, | ||||
|  |  | |||
							
								
								
									
										25
									
								
								src/gateway/handlers/messageUpdate.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/gateway/handlers/messageUpdate.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| import { Message } from "../../structures/message.ts" | ||||
| import { TextChannel } from '../../structures/textChannel.ts' | ||||
| import { User } from "../../structures/user.ts" | ||||
| import { Gateway, GatewayEventHandler } from '../index.ts' | ||||
| 
 | ||||
| export const messageUpdate: GatewayEventHandler = async ( | ||||
|   gateway: Gateway, | ||||
|   d: any | ||||
| ) => { | ||||
|   let channel = await gateway.client.channels.get<TextChannel>(d.channel_id) | ||||
|   // Fetch the channel if not cached
 | ||||
|   if (channel === undefined) | ||||
|     // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
 | ||||
|     channel = (await gateway.client.channels.fetch(d.channel_id)) as TextChannel | ||||
| 
 | ||||
|   const message = await channel.messages.get(d.id) | ||||
|   const author = new User(gateway.client, d.author) | ||||
|   const newMsg = new Message(gateway.client, d, channel, author) | ||||
|   if (message === undefined) { | ||||
|     await channel.messages.set(d.id, d) | ||||
|     return gateway.client.emit('messageUpdateUncached', newMsg) | ||||
|   } | ||||
|   await channel.messages.set(d.id, d) | ||||
|   gateway.client.emit('messageUpdate', message, newMsg) | ||||
| } | ||||
|  | @ -26,6 +26,16 @@ client.on('messageDeleteUncached', (d: MessageDeletePayload) => { | |||
|   console.log(`Uncached Message Deleted: ${d.id} in ${d.channel_id}`) | ||||
| }) | ||||
| 
 | ||||
| client.on('messageUpdate', (before: Message, after: Message) => { | ||||
|   console.log('Message Update') | ||||
|   console.log(`Before: ${before.author.tag}: ${before.content}`) | ||||
|   console.log(`After: ${after.author.tag}: ${after.content}`) | ||||
| }) | ||||
| 
 | ||||
| client.on('messageUpdateUncached', (msg: Message) => { | ||||
|   console.log(`Message: ${msg.author.tag}: ${msg.content}`) | ||||
| }) | ||||
| 
 | ||||
| // client.on('messageCreate', msg => console.log(`${msg.author.tag}: ${msg.content}`))
 | ||||
| 
 | ||||
| client.on("commandError", console.error) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue