41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"runtime"
|
|
"time"
|
|
|
|
"github.com/diamondburned/arikawa/v3/api"
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
"github.com/diamondburned/arikawa/v3/gateway"
|
|
"github.com/dustin/go-humanize"
|
|
)
|
|
|
|
var started = time.Now().Unix()
|
|
|
|
func (b *botState) handleInfo(e *gateway.InteractionCreateEvent) {
|
|
stats := runtime.MemStats{}
|
|
runtime.ReadMemStats(&stats)
|
|
|
|
buf := &bytes.Buffer{}
|
|
|
|
fmt.Fprintf(buf, "Go: %s\n", runtime.Version())
|
|
fmt.Fprintf(buf, "Uptime: <t:%d:R>\n", started)
|
|
fmt.Fprintf(buf, "Memory: %s / %s (alloc / sys)\n", humanize.Bytes(stats.Alloc), humanize.Bytes(stats.Sys))
|
|
fmt.Fprintf(buf, "Source: %s\n", "[link](https://gitea.teamortix.com/hamza/discodoc)")
|
|
fmt.Fprintf(buf, "Concurrent Tasks: %s\n", humanize.Comma(int64(runtime.NumGoroutine())))
|
|
|
|
b.state.RespondInteraction(e.ID, e.Token, api.InteractionResponse{
|
|
Type: api.MessageInteractionWithSource,
|
|
Data: &api.InteractionResponseData{
|
|
Flags: api.EphemeralResponse,
|
|
Embeds: &[]discord.Embed{{
|
|
Title: "DiscoDocs",
|
|
Description: buf.String(),
|
|
Color: accentColor,
|
|
}},
|
|
},
|
|
})
|
|
}
|