Implement snowflakes

This commit is contained in:
zontreck 2024-07-10 02:09:10 -07:00
parent 660b7df562
commit 662b93e011
4 changed files with 103 additions and 25 deletions

View file

@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:libac_dart/discord/structures/user.dart';
import 'package:libac_dart/structs/Snowflake.dart';
import 'package:libac_dart/utils/DictTools.dart';
class ApplicationPacket {
@ -8,13 +9,13 @@ class ApplicationPacket {
bool botRequiresCodeGrant;
String? coverImage;
String description;
String? guildId;
Snowflake? guildId;
String? icon;
String id;
Snowflake id;
Map<String, ApplicationIntegrationType>? integrationConfig;
String name;
User? owner;
String? primarySkuId;
Snowflake? primarySkuId;
String? slug;
String summary;
@ -48,13 +49,13 @@ class ApplicationPacket {
"bot_require_code_grant": botRequiresCodeGrant,
if (coverImage != null) "cover_image": coverImage,
"description": description,
if (guildId != null) "guild_id": guildId,
if (guildId != null) "guild_id": guildId.toString(),
"icon": icon,
"id": id,
"id": id.toString(),
if (integrationConfig != null) "integration_types_config": itc,
"name": name,
if (owner != null) "owner": owner!.toJson(),
if (primarySkuId != null) "primary_sku_id": primarySkuId,
if (primarySkuId != null) "primary_sku_id": primarySkuId.toString(),
if (slug != null) "slug": slug,
"summary": summary,
};
@ -84,13 +85,18 @@ class ApplicationPacket {
botRequiresCodeGrant: js['bot_require_code_grant'] as bool,
coverImage: setor(js, 'cover_image', null),
description: js['description'] as String,
guildId: setor(js, 'guild_id', null),
id: js['id'] as String,
guildId: js.containsKey("guild_id")
? Snowflake.parse(js['guild_id'] as String, Snowflake.DiscordEpoch)
: null,
id: Snowflake.parse(js['id'] as String, Snowflake.DiscordEpoch),
integrationConfig: itc,
name: js['name'] as String,
owner: User.decode(js['owner']),
icon: js['icon'],
primarySkuId: setor(js, 'primary_sku_id', null),
primarySkuId: js.containsKey("primary_sku_id")
? Snowflake.parse(
js['primary_sku_id'] as String, Snowflake.DiscordEpoch)
: null,
slug: setor(js, "slug", null),
summary: js['summary']);
}