diff --git a/src/Client.Helpers.cs b/src/Client.Helpers.cs
index 33e5987..e1c03af 100644
--- a/src/Client.Helpers.cs
+++ b/src/Client.Helpers.cs
@@ -626,7 +626,7 @@ namespace WTelegram
/// Search query
public async Task Channels_GetAllForumTopics(InputChannelBase channel, string q = null)
{
- var result = await this.Channels_GetForumTopics(channel, limit: 20, q: q);
+ var result = await this.Channels_GetForumTopics(channel, offset_date: DateTime.MaxValue, q: q);
if (result.topics.Length < result.count)
{
var topics = result.topics.ToList();
diff --git a/src/TL.Xtended.cs b/src/TL.Xtended.cs
index 334ecc4..ef2701f 100644
--- a/src/TL.Xtended.cs
+++ b/src/TL.Xtended.cs
@@ -308,6 +308,7 @@ namespace TL
partial class ChatParticipantsForbidden { public override ChatParticipantBase[] Participants => []; }
partial class ChatParticipants { public override ChatParticipantBase[] Participants => participants; }
+ partial class MessageBase { public MessageReplyHeader ReplyHeader => ReplyTo as MessageReplyHeader; }
partial class MessageEmpty { public override string ToString() => "(no message)"; }
partial class Message { public override string ToString() => $"{(from_id ?? peer_id)?.ID}> {message} {media}"; }
partial class MessageService { public override string ToString() => $"{(from_id ?? peer_id)?.ID} [{action.GetType().Name[13..]}]"; }
@@ -756,8 +757,9 @@ namespace TL
}
}
- partial class Theme { public static implicit operator InputTheme(Theme theme) => new() { id = theme.id, access_hash = theme.access_hash }; }
- partial class GroupCallBase { public static implicit operator InputGroupCall(GroupCallBase call) => new() { id = call.ID, access_hash = call.AccessHash }; }
+ partial class Theme { public static implicit operator InputTheme(Theme theme) => new() { id = theme.id, access_hash = theme.access_hash }; }
+ partial class MessageReplyHeader { public int TopicID => flags.HasFlag(Flags.forum_topic) ? flags.HasFlag(Flags.has_reply_to_top_id) ? reply_to_top_id : reply_to_msg_id : 0; }
+ partial class GroupCallBase { public static implicit operator InputGroupCall(GroupCallBase call) => new() { id = call.ID, access_hash = call.AccessHash }; }
partial class RequestedPeer { public abstract long ID { get; } }
partial class RequestedPeerUser { public override long ID => user_id; }