Compare commits

...
3 Commits
Author SHA1 Message Date
Dustin Pianalto 02b5842107 Add milliseconds to timestamp
CI / build (push) Has been cancelled
2021-07-23 12:54:23 -08:00
Dustin Pianalto d345044b3a Add milliseconds to timestamp
CI / build (push) Has been cancelled
2021-07-23 12:39:35 -08:00
Dustin Pianalto b3aff0828c Add snowflake command
CI / build (push) Has been cancelled
2021-07-23 12:34:09 -08:00
4 changed files with 35 additions and 2 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ func ParseDateString(inTime time.Time) string {
} else { } else {
dateString = "Now" dateString = "Now"
} }
stamp := inTime.Format("2006-01-02 15:04:05") stamp := inTime.Format("2006-01-02 15:04:05.000")
return fmt.Sprintf("%v\n%v", dateString, stamp) return fmt.Sprintf("%v\n%v", dateString, stamp)
} }
+4 -1
View File
@@ -19,7 +19,10 @@ func ParseSnowflake(s int64) Snowflake {
PROCESS_ID_MASK = 0x1F000 PROCESS_ID_MASK = 0x1F000
INCREMENT_MASK = 0xFFF INCREMENT_MASK = 0xFFF
) )
creationTime := time.Unix(((s>>TIME_BITS_LOC)+DISCORD_EPOCH)/1000.0, 0) t := (s >> TIME_BITS_LOC) + DISCORD_EPOCH
sec := t / 1000.0
nano := t % 1000.0 * 1000000.0
creationTime := time.Unix(sec, nano)
workerID := (s & WORKER_ID_MASK) >> WORKER_ID_LOC workerID := (s & WORKER_ID_MASK) >> WORKER_ID_LOC
processID := (s & PROCESS_ID_MASK) >> PROCESS_ID_LOC processID := (s & PROCESS_ID_MASK) >> PROCESS_ID_LOC
increment := s & INCREMENT_MASK increment := s & INCREMENT_MASK
+1
View File
@@ -27,6 +27,7 @@ func AddCommandHandlers(h *disgoman.CommandManager) {
_ = h.AddCommand(utils.GitCommand) _ = h.AddCommand(utils.GitCommand)
_ = h.AddCommand(utils.InviteCommand) _ = h.AddCommand(utils.InviteCommand)
_ = h.AddCommand(utils.PingCommand) _ = h.AddCommand(utils.PingCommand)
_ = h.AddCommand(utils.SnowflakeCommand)
_ = h.AddCommand(tasks.AddReminderCommand) _ = h.AddCommand(tasks.AddReminderCommand)
_ = h.AddCommand(tags.AddTagCommand) _ = h.AddCommand(tags.AddTagCommand)
_ = h.AddCommand(tags.TagCommand) _ = h.AddCommand(tags.TagCommand)
+29
View File
@@ -218,3 +218,32 @@ func userCommandFunc(ctx disgoman.Context, args []string) {
} }
} }
} }
var SnowflakeCommand = &disgoman.Command{
Name: "s",
Aliases: nil,
Description: "Return the parts of a snowflake",
OwnerOnly: false,
Hidden: false,
RequiredPermissions: 0,
SanitizeEveryone: true,
Invoke: snowflakeCommandFunc,
}
func snowflakeCommandFunc(ctx disgoman.Context, args []string) {
int64ID, err := strconv.ParseInt(args[0], 10, 64)
if err != nil {
ctx.CommandManager.ErrorChannel <- disgoman.CommandError{
Context: ctx,
Message: "Not a valid ID",
Error: err,
}
return
}
s := discord_utils.ParseSnowflake(int64ID)
embed := &discordgo.MessageEmbed{
Title: args[0],
Description: fmt.Sprintf("Created: %s\nWorker: %d\nProcess: %d\nCounter: %d", discord_utils.ParseDateString(s.CreationTime), s.WorkerID, s.ProcessID, s.Increment),
}
_, _ = ctx.Session.ChannelMessageSendEmbed(ctx.Channel.ID, embed)
}