fix issue with Channels_GetAdminLog helper

This commit is contained in:
Wizou 2023-05-03 14:24:52 +02:00
parent 30618cb316
commit c052ac2e2c
2 changed files with 4 additions and 5 deletions

View file

@ -553,16 +553,15 @@ namespace WTelegram
{ {
var admins = admin == null ? null : new[] { admin }; var admins = admin == null ? null : new[] { admin };
var result = await this.Channels_GetAdminLog(channel, q, events_filter: events_filter, admins: admins); var result = await this.Channels_GetAdminLog(channel, q, events_filter: events_filter, admins: admins);
if (result.events.Length < 100) return result;
var resultFull = result; var resultFull = result;
List<ChannelAdminLogEvent> events = new(result.events); var events = new List<ChannelAdminLogEvent>(result.events);
do while (result.events.Length > 0)
{ {
result = await this.Channels_GetAdminLog(channel, q, max_id: result.events[^1].id, events_filter: events_filter, admins: admins); result = await this.Channels_GetAdminLog(channel, q, max_id: result.events[^1].id, events_filter: events_filter, admins: admins);
events.AddRange(result.events); events.AddRange(result.events);
foreach (var kvp in result.chats) resultFull.chats[kvp.Key] = kvp.Value; foreach (var kvp in result.chats) resultFull.chats[kvp.Key] = kvp.Value;
foreach (var kvp in result.users) resultFull.users[kvp.Key] = kvp.Value; foreach (var kvp in result.users) resultFull.users[kvp.Key] = kvp.Value;
} while (result.events.Length >= 100); }
resultFull.events = events.ToArray(); resultFull.events = events.ToArray();
return resultFull; return resultFull;
} }

View file

@ -583,7 +583,7 @@ namespace TL
partial class ChannelAdminLogEventsFilter partial class ChannelAdminLogEventsFilter
{ {
public static implicit operator ChannelAdminLogEventsFilter(Flags flags) => new() { flags = flags }; public static implicit operator ChannelAdminLogEventsFilter(Flags flags) => flags == 0 ? null : new() { flags = flags };
} }
partial class InputMessage partial class InputMessage