Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02b5842107 | ||
|
|
d345044b3a | ||
|
|
b3aff0828c |
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user