1
- using System ;
2
- using System . Collections . Generic ;
3
1
using System . ComponentModel ;
4
2
using Disqord . Models ;
5
3
using Qommon ;
6
- using Qommon . Collections . ReadOnly ;
7
4
8
5
namespace Disqord . Gateway ;
9
6
10
7
/// <inheritdoc cref="IForumChannel"/>
11
- public class CachedForumChannel : CachedCategorizableGuildChannel , IForumChannel
8
+ public class CachedForumChannel : CachedMediaChannel , IForumChannel
12
9
{
13
- /// <inheritdoc/>
14
- public string ? Topic { get ; private set ; }
15
-
16
- /// <inheritdoc/>
17
- public bool IsAgeRestricted { get ; private set ; }
18
-
19
- /// <inheritdoc/>
20
- public TimeSpan Slowmode { get ; private set ; }
21
-
22
- /// <inheritdoc/>
23
- public TimeSpan DefaultAutomaticArchiveDuration { get ; private set ; }
24
-
25
- /// <inheritdoc/>
26
- public Snowflake ? LastThreadId { get ; private set ; }
27
-
28
- /// <inheritdoc/>
29
- public IEmoji ? DefaultReactionEmoji { get ; private set ; }
30
-
31
- /// <inheritdoc/>
32
- public IReadOnlyList < IForumTag > Tags { get ; private set ; } = ReadOnlyList < IForumTag > . Empty ;
33
-
34
- /// <inheritdoc/>
35
- public TimeSpan DefaultThreadSlowmode { get ; private set ; }
36
-
37
- /// <inheritdoc/>
38
- public ForumSortOrder ? DefaultSortOrder { get ; private set ; }
39
-
40
10
/// <inheritdoc/>
41
11
public ForumLayout DefaultLayout { get ; private set ; }
42
12
@@ -48,49 +18,6 @@ public CachedForumChannel(IGatewayClient client, ChannelJsonModel model)
48
18
public override void Update ( ChannelJsonModel model )
49
19
{
50
20
base . Update ( model ) ;
51
-
52
- if ( model . Topic . HasValue )
53
- Topic = model . Topic . Value ;
54
-
55
- if ( model . Nsfw . HasValue )
56
- IsAgeRestricted = model . Nsfw . Value ;
57
-
58
- if ( model . RateLimitPerUser . HasValue )
59
- Slowmode = TimeSpan . FromSeconds ( model . RateLimitPerUser . Value ) ;
60
-
61
- DefaultAutomaticArchiveDuration = TimeSpan . FromMinutes ( model . DefaultAutoArchiveDuration . GetValueOrDefault ( 1440 ) ) ;
62
-
63
- if ( model . LastMessageId . HasValue )
64
- LastThreadId = model . LastMessageId . Value ;
65
-
66
- if ( model . DefaultReactionEmoji . HasValue )
67
- {
68
- IEmoji ? defaultReactionEmoji ;
69
- var defaultReactionEmojiModel = model . DefaultReactionEmoji . GetValueOrDefault ( ) ;
70
- if ( defaultReactionEmojiModel != null )
71
- {
72
- if ( defaultReactionEmojiModel . EmojiId != null )
73
- {
74
- defaultReactionEmoji = new TransientCustomEmoji ( defaultReactionEmojiModel . EmojiId . Value ) ;
75
- }
76
- else
77
- {
78
- defaultReactionEmoji = new TransientEmoji ( defaultReactionEmojiModel . EmojiName ! ) ;
79
- }
80
- }
81
- else
82
- {
83
- defaultReactionEmoji = null ;
84
- }
85
-
86
- DefaultReactionEmoji = defaultReactionEmoji ;
87
- }
88
-
89
- if ( model . AvailableTags . HasValue )
90
- Tags = model . AvailableTags . Value . ToReadOnlyList ( model => new TransientForumTag ( model ) ) ;
91
-
92
- DefaultThreadSlowmode = TimeSpan . FromSeconds ( model . DefaultThreadRateLimitPerUser . GetValueOrDefault ( 0 ) ) ;
93
- DefaultSortOrder = model . DefaultSortOrder . GetValueOrDefault ( ) ;
94
21
DefaultLayout = model . DefaultForumLayout . GetValueOrDefault ( ) ;
95
22
}
96
23
}
0 commit comments