added ping command

This commit is contained in:
2024-02-20 17:28:58 +01:00
parent 10e57fe2a0
commit b9e829ffb4
5 changed files with 42 additions and 5 deletions

41
command_ping.go Normal file
View File

@@ -0,0 +1,41 @@
package main
import (
"fmt"
"net/http"
"time"
"github.com/bwmarrin/discordgo"
)
var ping_command Command = Command{
Definition: discordgo.ApplicationCommand{
Name: "ping",
Description: "Returns the ping of the bot",
},
Interact: func(s *discordgo.Session, i *discordgo.InteractionCreate) {
start := time.Now()
// Create a new HTTP client with a timeout
client := http.Client{
Timeout: 5 * time.Second,
}
// Send a GET request to the Discord API
resp, err := client.Get("https://discord.com/api/v9/gateway/bot")
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
// Calculate the ping
ping := time.Since(start)
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
Type: discordgo.InteractionResponseChannelMessageWithSource,
Data: &discordgo.InteractionResponseData{
Content: fmt.Sprintf("Ping: %.2fms", ping.Seconds()*1000),
},
})
},
}