Api calls
This commit is contained in:
parent
cf6f7ed843
commit
ca1d1383d7
4 changed files with 51 additions and 36 deletions
62
Bot/Untis.go
62
Bot/Untis.go
|
|
@ -1,20 +1,56 @@
|
||||||
package Untis
|
package Untis
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
"log"
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Run() {
|
type Params struct {
|
||||||
log.Println("Run")
|
Users string `json:"users"`
|
||||||
type res struct {
|
Password string `json:"key"`
|
||||||
Name string
|
Client string `json:"client"`
|
||||||
url string
|
}
|
||||||
key int
|
type Login struct {
|
||||||
}
|
Id string `json:"id"`
|
||||||
/* r := res{"Jannik", "google.com", 4}
|
Method string `json:"method"`
|
||||||
r, err := json.Marshal(r)
|
Params Params `json:"params"`
|
||||||
if err != nil {
|
|
||||||
log.Printf("Error marshalling JSON: %v", err)
|
Jsonrpc string `json:"jsonrpc"`
|
||||||
return
|
}
|
||||||
} */
|
|
||||||
|
type LoginResponse struct {
|
||||||
|
result struct {
|
||||||
|
ID string `json:"sessionId"`
|
||||||
|
PersonType string `json:"personType"`
|
||||||
|
PersonId string `json:"personId"`
|
||||||
|
KlasseId string `json:"klasseId"`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var Url = "https://thalia.webuntis.com/WebUntis/jsonrpc.do?school=Mons_Tabor"
|
||||||
|
var Password = os.Getenv("UNTIS_PASSWORD")
|
||||||
|
var USERS = os.Getenv("UNTIS_USER")
|
||||||
|
|
||||||
|
func Auth() {
|
||||||
|
l := Login{"2023-05-06 15:44:22.215292", "authenticate", Params{os.Getenv("UNTIS_USER"), os.Getenv("UNTIS_PASSWORD"), "WebUntis Test"}, "2.0"}
|
||||||
|
loginJSON, err := json.Marshal(l)
|
||||||
|
login := bytes.NewReader(loginJSON)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Error marshaling login data: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("Run")
|
||||||
|
res, err := http.Post(Url, "application/json", login)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error during authentication: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Println(res)
|
||||||
|
log.Println("")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
go.mod
11
go.mod
|
|
@ -2,13 +2,4 @@ module untislogger
|
||||||
|
|
||||||
go 1.24.4
|
go 1.24.4
|
||||||
|
|
||||||
require (
|
require github.com/joho/godotenv v1.5.1
|
||||||
github.com/bwmarrin/discordgo v0.29.0
|
|
||||||
github.com/joho/godotenv v1.5.1
|
|
||||||
)
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/gorilla/websocket v1.4.2 // indirect
|
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
|
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect
|
|
||||||
)
|
|
||||||
|
|
|
||||||
12
go.sum
12
go.sum
|
|
@ -1,14 +1,2 @@
|
||||||
github.com/bwmarrin/discordgo v0.29.0 h1:FmWeXFaKUwrcL3Cx65c20bTRW+vOb6k8AnaP+EgjDno=
|
|
||||||
github.com/bwmarrin/discordgo v0.29.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
|
|
||||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
|
||||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
|
||||||
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
|
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
|
||||||
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
|
|
||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
|
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
||||||
|
|
|
||||||
2
main.go
2
main.go
|
|
@ -42,7 +42,7 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
go Untis.Run() //starting API calls function
|
go Untis.Auth() //starting API calls function
|
||||||
// Create a channel to receive OS signals
|
// Create a channel to receive OS signals
|
||||||
sigChan := make(chan os.Signal, 1)
|
sigChan := make(chan os.Signal, 1)
|
||||||
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
|
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue