Added SnowflakeUtils

This commit is contained in:
RogueException
2017-04-19 14:50:33 -03:00
parent ff67c0d9c3
commit e762dddfbb
19 changed files with 29 additions and 22 deletions

View File

@@ -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)

View File

@@ -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)

View 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;
}
}