mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
- Possible small fix for .prune ratelimiting
- Use .WhenAll extension instead of Task.WhenAll in a few more places
This commit is contained in:
@@ -2,6 +2,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using NadekoBot.Extensions;
|
||||||
using NadekoBot.Services;
|
using NadekoBot.Services;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
|
||||||
@@ -62,8 +63,8 @@ namespace NadekoBot.Tests
|
|||||||
_grouper.CreateOrAdd(0, 5);
|
_grouper.CreateOrAdd(0, 5);
|
||||||
|
|
||||||
// add 15 items
|
// add 15 items
|
||||||
await Task.WhenAll(Enumerable.Range(10, 15)
|
await Enumerable.Range(10, 15)
|
||||||
.Select(x => Task.Run(() => _grouper.CreateOrAdd(0, x))));
|
.Select(x => Task.Run(() => _grouper.CreateOrAdd(0, x))).WhenAll();
|
||||||
|
|
||||||
// get 5 at most
|
// get 5 at most
|
||||||
_grouper.ClearGroup(0, 5, out var items);
|
_grouper.ClearGroup(0, 5, out var items);
|
||||||
|
@@ -46,7 +46,7 @@ public class PruneService : INService
|
|||||||
await Task.WhenAll(Task.Delay(1000), channel.DeleteMessagesAsync(bulkDeletable));
|
await Task.WhenAll(Task.Delay(1000), channel.DeleteMessagesAsync(bulkDeletable));
|
||||||
|
|
||||||
foreach (var group in singleDeletable.Chunk(5))
|
foreach (var group in singleDeletable.Chunk(5))
|
||||||
await Task.WhenAll(Task.Delay(1000), group.Select(x => x.DeleteAsync()).WhenAll());
|
await Task.WhenAll(Task.Delay(5000), group.Select(x => x.DeleteAsync()).WhenAll());
|
||||||
|
|
||||||
//this isn't good, because this still work as if i want to remove only specific user's messages from the last
|
//this isn't good, because this still work as if i want to remove only specific user's messages from the last
|
||||||
//100 messages, Maybe this needs to be reduced by msgs.Length instead of 100
|
//100 messages, Maybe this needs to be reduced by msgs.Length instead of 100
|
||||||
|
@@ -170,14 +170,14 @@ public sealed class SelfService : ILateExecutor, IReadyExecutor, INService
|
|||||||
|
|
||||||
private async Task LoadOwnerChannels()
|
private async Task LoadOwnerChannels()
|
||||||
{
|
{
|
||||||
var channels = await Task.WhenAll(_creds.OwnerIds.Select(id =>
|
var channels = await _creds.OwnerIds.Select(id =>
|
||||||
{
|
{
|
||||||
var user = _client.GetUser(id);
|
var user = _client.GetUser(id);
|
||||||
if (user is null)
|
if (user is null)
|
||||||
return Task.FromResult<IDMChannel>(null);
|
return Task.FromResult<IDMChannel>(null);
|
||||||
|
|
||||||
return user.CreateDMChannelAsync();
|
return user.CreateDMChannelAsync();
|
||||||
}));
|
}).WhenAll();
|
||||||
|
|
||||||
ownerChannels = channels.Where(x => x is not null)
|
ownerChannels = channels.Where(x => x is not null)
|
||||||
.ToDictionary(x => x.Recipient.Id, x => x)
|
.ToDictionary(x => x.Recipient.Id, x => x)
|
||||||
|
@@ -88,8 +88,6 @@ public static class EnumerableExtensions
|
|||||||
where T : class, IIndexed
|
where T : class, IIndexed
|
||||||
=> new(enumerable);
|
=> new(enumerable);
|
||||||
|
|
||||||
// todo use this extension instead of Task.WhenAll
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a task that will complete when all of the <see cref="Task{TResult}" /> objects in an enumerable
|
/// Creates a task that will complete when all of the <see cref="Task{TResult}" /> objects in an enumerable
|
||||||
/// collection have completed
|
/// collection have completed
|
||||||
|
Reference in New Issue
Block a user