improved ping command

This commit is contained in:
2024-02-20 18:55:37 +01:00
parent f93dbeeab9
commit 62dd8e60f9
3 changed files with 36 additions and 1 deletions

View File

@@ -28,10 +28,25 @@ var ping_command Command = Command{
defer resp.Body.Close()
ping := time.Since(start)
var ping_color string
if ping.Milliseconds() < 200 {
ping_color = "green"
} else if ping.Milliseconds() < 400 {
ping_color = "yellow"
} else {
ping_color = "red"
}
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
Type: discordgo.InteractionResponseChannelMessageWithSource,
Data: &discordgo.InteractionResponseData{
Content: fmt.Sprintf("Ping: %.2fms", ping.Seconds()*1000),
Embeds: []*discordgo.MessageEmbed{
{
Title: "Bot ping",
Description: fmt.Sprintf("**%.2fms**", ping.Seconds()*1000),
Type: discordgo.EmbedTypeArticle,
Color: hexToDecimal(color[ping_color]),
},
},
},
})
},

8
config.go Normal file
View File

@@ -0,0 +1,8 @@
package main
var color map[string]string = map[string]string{
"red": "#FF6B6B",
"yellow": "#FFD93D",
"green": "#6BCB77",
"blue": "#4D96FF",
}

12
main.go
View File

@@ -5,6 +5,8 @@ import (
"log"
"os"
"os/signal"
"strconv"
"strings"
"syscall"
"database/sql"
@@ -57,3 +59,13 @@ func main() {
func int64Ptr(i int64) *int64 {
return &i
}
func hexToDecimal(hexColor string) int {
// Remove the hash symbol if it's present
hexColor = strings.TrimPrefix(hexColor, "#")
decimal, err := strconv.ParseInt(hexColor, 16, 64)
if err != nil {
return 0
}
return int(decimal)
}