@@ -3,18 +3,29 @@ import ApiCache, {memberKey} from "./ApiCache";
33import Backoff from "./Backoff" ;
44import {
55 ChannelAckEvent ,
6- ChannelCreateEvent , ChannelDeleteEvent , ChannelUpdateEvent ,
6+ ChannelCreateEvent ,
7+ ChannelDeleteEvent ,
8+ ChannelUpdateEvent ,
79 GuildCreateEvent ,
8- GuildRemoveEvent , GuildUpdateEvent ,
10+ GuildRemoveEvent ,
11+ GuildUpdateEvent ,
912 GuildsAvailableEvent ,
1013 MemberJoinEvent ,
11- MemberRemoveEvent , MemberUpdateEvent ,
14+ MemberRemoveEvent ,
15+ MemberUpdateEvent ,
1216 MessageCreateEvent ,
13- MessageDeleteEvent , MessageUpdateEvent ,
17+ MessageDeleteEvent ,
18+ MessageUpdateEvent ,
1419 PresenceUpdateEvent ,
1520 ReadyEvent ,
1621 RelationshipCreateEvent ,
17- RelationshipRemoveEvent , RequestGuildsPayload , RoleCreateEvent , RoleDeleteEvent , RolePositionsUpdateEvent , RoleUpdateEvent ,
22+ RelationshipRemoveEvent ,
23+ RequestGuildsPayload ,
24+ RoleCreateEvent ,
25+ RoleDeleteEvent ,
26+ RolePositionsUpdateEvent ,
27+ RoleUpdateEvent ,
28+ GuildChannelPositionsUpdateEvent ,
1829 TypingStartEvent ,
1930 TypingStopEvent ,
2031 UpdatePresencePayload ,
@@ -165,6 +176,18 @@ export const WsEventHandlers: Record<string, WsEventHandler> = {
165176 role_delete ( ws : WsClient , data : RoleDeleteEvent ) {
166177 ws . api . cache ?. deleteRole ( data . role_id )
167178 } ,
179+ guild_channel_positions_update ( ws : WsClient , data : GuildChannelPositionsUpdateEvent ) {
180+ for ( const { channel_id, position, parent_id } of data . positions ) {
181+ const channel = ws . api . cache ?. channels . get ( channel_id )
182+ if ( channel && 'guild_id' in channel ) {
183+ ws . api . cache ?. channels . set ( channel_id , {
184+ ...channel ,
185+ position,
186+ parent_id : parent_id ?? undefined ,
187+ } )
188+ }
189+ }
190+ } ,
168191 relationship_create ( ws : WsClient , data : RelationshipCreateEvent ) {
169192 const prev = ws . api . cache ?. relationships . get ( data . relationship . user . id )
170193 ws . api . cache ?. updateRelationship ( data . relationship )
0 commit comments