diff --git a/README.md b/README.md index 608df79..b404dd8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

bonfire.v

-[Docs](https://rgbcube.github.io/docs/bonfire) +[Docs](https://rgbcube.github.io/docs/bonfire) | [Examples](https://github.com/RGBCube/bonfire.v/tree/master/examples) A Discord API wrapper for the V programming language. diff --git a/examples/snowflake.v b/examples/snowflake.v new file mode 100644 index 0000000..58ac8f8 --- /dev/null +++ b/examples/snowflake.v @@ -0,0 +1,30 @@ +module main + +import os +import rgbcube.bonfire { Snowflake, TimeFormat } + +[noreturn] +fn print_help_and_exit1() { + println('Usage: ') + println('Format can be either short_time, long_time, short_date, long_date, short_date_time, long_date_time or relative') + exit(1) +} + +fn main() { + snowflake := Snowflake(os.args[2].i64() or { print_help_and_exit1() }) + + format_str := os.args[1] + + format := match format_str { + 'short_time' { TimeFormat.short_time } + 'long_time' { TimeFormat.long_time } + 'short_date' { TimeFormat.short_date } + 'long_date' { TimeFormat.long_date } + 'short_date_time' { TimeFormat.short_date_time } + 'long_date_time' { TimeFormat.long_date_time } + 'relative' { TimeFormat.relative } + else { print_help_and_exit1() } + } + + println(snowflake.format(format)) +} diff --git a/examples/time.v b/examples/time.v new file mode 100644 index 0000000..a13b747 --- /dev/null +++ b/examples/time.v @@ -0,0 +1,17 @@ +module main + +import os +import rgbcube.bonfire { Snowflake } + +fn main() { + snowflake := Snowflake(os.args[1] or { + println('Usage: ') + exit(1) + }) + + println('Snowflake: ${snowflake}') + println('- Created at: ${snowflake.created_at()}') + println('- Worker ID: ${snowflake.worker_id()}') + println('- Process ID: ${snowflake.process_id()}') + println('- Sequence number: ${snowflake.sequence_number()}') +}