From ad7f328b83ec7e0e129cd88719c3c50a0d37c7ab Mon Sep 17 00:00:00 2001 From: TopiSenpai Date: Mon, 24 Jan 2022 19:53:18 +0100 Subject: [PATCH] add snowflake parse from int64 --- README.md | 3 +++ snowflake.go | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/README.md b/README.md index 77d370c..6d16505 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,9 @@ id.Int64() // this can be used for various pagination requests to the discord api id = NewSnowflake(time.Now()) +// returns the int64 as a Snowflake +id = ParseSnowflake(123456789012345678) + // returns a snowflake from an environment variable id = GetSnowflakeEnv("guild_id") ``` diff --git a/snowflake.go b/snowflake.go index 653154e..65a42dd 100644 --- a/snowflake.go +++ b/snowflake.go @@ -14,6 +14,15 @@ func NewSnowflake(timestamp time.Time) Snowflake { return Snowflake(strconv.FormatInt(((timestamp.UnixNano()/1_000_000)-Epoch)<<22, 10)) } +// ParseSnowflake parses a Snowflake int64 into a Snowflake +//goland:noinspection GoUnusedExportedFunction +func ParseSnowflake(i int64) Snowflake { + if i == 0 { + return "" + } + return Snowflake(strconv.FormatInt(i, 10)) +} + // GetSnowflakeEnv returns a new Snowflake from an environment variable //goland:noinspection GoUnusedExportedFunction func GetSnowflakeEnv(key string) Snowflake {