Added SnowflakeUtils
This commit is contained in:
@@ -11,11 +11,6 @@ namespace Discord
|
||||
private const long UnixEpochMilliseconds = 62_135_596_800_000;
|
||||
#endif
|
||||
|
||||
public static DateTimeOffset FromSnowflake(ulong value)
|
||||
=> FromUnixMilliseconds((long)((value >> 22) + 1420070400000UL));
|
||||
public static ulong ToSnowflake(DateTimeOffset value)
|
||||
=> ((ulong)ToUnixMilliseconds(value) - 1420070400000UL) << 22;
|
||||
|
||||
public static DateTimeOffset FromTicks(long ticks)
|
||||
=> new DateTimeOffset(ticks, TimeSpan.Zero);
|
||||
public static DateTimeOffset? FromTicks(long? ticks)
|
||||
|
||||
@@ -185,7 +185,7 @@ namespace Discord
|
||||
// Bulk Delete
|
||||
public static void YoungerThanTwoWeeks(ulong[] collection, string name)
|
||||
{
|
||||
var minimum = DateTimeUtils.ToSnowflake(DateTimeOffset.UtcNow.Subtract(TimeSpan.FromDays(14)));
|
||||
var minimum = SnowflakeUtils.ToSnowflake(DateTimeOffset.UtcNow.Subtract(TimeSpan.FromDays(14)));
|
||||
for (var i = 0; i < collection.Length; i++)
|
||||
{
|
||||
if (collection[i] <= minimum)
|
||||
|
||||
12
src/Discord.Net.Core/Utils/SnowflakeUtils.cs
Normal file
12
src/Discord.Net.Core/Utils/SnowflakeUtils.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace Discord
|
||||
{
|
||||
public static class SnowflakeUtils
|
||||
{
|
||||
public static DateTimeOffset FromSnowflake(ulong value)
|
||||
=> DateTimeUtils.FromUnixMilliseconds((long)((value >> 22) + 1420070400000UL));
|
||||
public static ulong ToSnowflake(DateTimeOffset value)
|
||||
=> ((ulong)DateTimeUtils.ToUnixMilliseconds(value) - 1420070400000UL) << 22;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user