blob: ba48649fc0898cba68dfb5bb275bd38e7230520d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace Spacebar.Models.Generic;
public class Webhook {
[JsonPropertyName("id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public required long Id { get; set; }
[JsonPropertyName("type")]
public WebhookType WebhookType { get; set; }
[JsonPropertyName("guild_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long? GuildId { get; set; }
[JsonPropertyName("channel_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long? ChannelId { get; set; }
[JsonPropertyName("user")]
public PartialUser? User { get; set; }
[JsonPropertyName("name")]
public string? Name { get; set; }
[JsonPropertyName("avatar")]
public string? AvatarData { get; set; }
[JsonPropertyName("token")]
public string? Token { get; set; }
[JsonPropertyName("application_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long? ApplicationId { get; set; }
[JsonPropertyName("source_guild")]
public JsonObject? SourceGuild { get; set; } // TODO type
[JsonPropertyName("source_channel")]
public JsonObject? SourceChannel { get; set; } // TODO type
[JsonPropertyName("url")]
public string? Url { get; set; }
}
public enum WebhookType : byte {
Incomming = 1,
ChannelFollower = 2,
Application = 3
}
|