@@ -218,10 +218,10 @@ proc parseHook*(s: string, i: var int, v: var set[UserFlags]) =
218218 parseHook (s, i, number)
219219 v = cast [set [UserFlags ]](number)
220220
221- proc parseHook * (s: string , i: var int , v: var set [GuildMemberFlags ]) =
221+ proc parseHook * (s: string , i: var int , v: var set [MemberFlags ]) =
222222 var number: BiggestInt
223223 parseHook (s, i, number)
224- v = cast [set [GuildMemberFlags ]](number)
224+ v = cast [set [MemberFlags ]](number)
225225
226226proc parseHook * (s: string , i: var int , v: var set [RoleFlags ]) =
227227 var number: BiggestInt
@@ -281,6 +281,16 @@ proc newRole*(data: JsonNode): Role =
281281 " available_for_purchase" in tag)
282282 result .tags.get.guild_connections = some " guild_connections" in tag
283283
284+ proc parseHook * (s: string , i: var int , v: var OverwriteType ) =
285+ var data: JsonNode
286+ parseHook (s, i, data)
287+ case data.kind:
288+ of JString : # audit log options
289+ v = OverwriteType parseInt (data.str)
290+ of JInt :
291+ v = OverwriteType data.getInt
292+ else : discard
293+
284294proc newHook (m: var Member ) =
285295 m = Member ()
286296 m.presence = Presence (
@@ -481,7 +491,6 @@ proc `[]=`(obj: ref object, fld: string, val: JsonNode) =
481491 for name, field in obj[].fieldPairs:
482492 if name == fld:
483493 field = ($ val).fromJson (typeof (field))
484-
485494
486495proc newAuditLogChangeValue (data: JsonNode , key: string ): AuditLogChangeValue =
487496 case data.kind:
@@ -574,10 +583,6 @@ proc newAuditLog*(data: JsonNode): AuditLog =
574583proc newVoiceState * (data: JsonNode ): VoiceState =
575584 result = ($ data).fromJson (VoiceState )
576585
577- proc renameHook (v: var Guild , fieldName: var string ) {.used .} =
578- if fieldName == " region" :
579- fieldName = " rtc_region"
580-
581586proc parseHook (s: string , i: var int , v: var set [SystemChannelFlags ]) =
582587 var number: BiggestInt
583588 parseHook (s, i, number)
@@ -799,8 +804,8 @@ proc parseHook(s: string, n: var int, a: var ApplicationCommandInteractionData)
799804
800805 if " component_type" in data:
801806 a = ApplicationCommandInteractionData (
802- interactionType : idtMessageComponent,
803- component_type: ($ data[" component_type" ].getInt ).fromJson (
807+ interaction_type : idtMessageComponent,
808+ component_type: ($ data[" component_type" ]).fromJson (
804809 MessageComponentType ),
805810 custom_id: data[" custom_id" ].str
806811 )
@@ -825,20 +830,20 @@ proc parseHook(s: string, n: var int, a: var ApplicationCommandInteractionData)
825830 case key:
826831 of " users" :
827832 for k, v in values.pairs:
828- a.resolved.users[k] = ( $ v). fromJson User
833+ a.resolved.users[k] = v.newUser
829834 of " attachments" :
830835 for k, v in values.pairs:
831- a.resolved.attachments[k] = ( $ v). fromJson Attachment
836+ a.resolved.attachments[k] = v.newAttachment
832837 else : discard
833838
834839 if a.kind == atUser:
835840 case key:
836841 of " members" :
837842 for k, v in values.pairs:
838- a.resolved.members[k] = ( $ v). fromJson Member
843+ a.resolved.members[k] = v.newMember
839844 of " roles" :
840845 for k, v in values.pairs:
841- a.resolved.roles[k] = ( $ v). fromJson Role
846+ a.resolved.roles[k] = v.newRole
842847 else : discard
843848
844849 if a.kind == atMessage:
@@ -850,7 +855,7 @@ proc parseHook(s: string, n: var int, a: var ApplicationCommandInteractionData)
850855 )
851856 of " messages" :
852857 for k, v in values.pairs:
853- a.resolved.messages[k] = ( $ v). fromJson Message
858+ a.resolved.messages[k] = v.newMessage
854859 else : discard
855860
856861 for k, val in data.pairs:
@@ -1002,7 +1007,6 @@ proc `+`(a, b: JsonNode): JsonNode =
10021007 for k, v in b.pairs:
10031008 result [k] = v
10041009
1005-
10061010proc `&=` (a: var JsonNode , b: JsonNode ) =
10071011 a = a+ b
10081012
0 commit comments