2025-02-18 20:16:35 +01:00

59 lines
1.1 KiB
Go

package main
import (
"bytes"
"encoding/json"
"fmt"
"github.com/joho/godotenv"
"io"
"net/http"
"os"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("Usage: ./go-google-space <message>")
return
}
userMessage := os.Args[1]
client := &http.Client{}
err := godotenv.Load()
if err != nil {
fmt.Println("Error loading .env file")
}
chatSpaceID := os.Getenv("SPACE_ID")
key := os.Getenv("KEY")
token := os.Getenv("TOKEN")
url := fmt.Sprintf("https://chat.googleapis.com/v1/spaces/%s/messages?key=%s&token=%s", chatSpaceID, key, token)
message := map[string]string{"text": userMessage}
messageJson, err := json.Marshal(message)
if err != nil {
fmt.Println("Error marshalling message")
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(messageJson))
if err != nil {
fmt.Println("Error creating request")
return
}
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending request")
return
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
fmt.Println("Error closing response body")
}
}(resp.Body)
}