This commit is contained in:
Smile Rex
2026-01-22 10:01:15 +03:00
parent 12e789b22e
commit b7d33889fd
7 changed files with 34 additions and 53 deletions

27
main.go
View File

@@ -1,6 +1,7 @@
package main
import (
"fmt"
"log"
"net/http"
@@ -23,24 +24,21 @@ func ServeWS(room *Room, w http.ResponseWriter, r *http.Request) {
return
}
data, ok := VerifyTelegramInitData(auth.InitData, "7697757472:AAESD9HfkWwbIZe-HXR7IazUShr69hZTLmE")
if !ok {
data, err := VerifyTelegramInitData(auth.InitData, "7697757472:AAESD9HfkWwbIZe-HXR7IazUShr69hZTLmE")
if err != nil {
conn.Close()
return
}
log.Println("Client connected! \ninitData: ", data)
userID := data["user.id"]
username := data["user.username"]
userID := data.User.ID
username := data.User.Username
if username == "" {
username = data["user.first_name"]
}
if username == "" {
username = "user_" + userID
username = data.User.FirstName
}
log.Printf("Player %d connected!", userID)
player := &Player{
ID: userID,
Username: username,
@@ -54,7 +52,7 @@ func ServeWS(room *Room, w http.ResponseWriter, r *http.Request) {
player.Conn.WriteJSON(map[string]any{
"type": "init",
"payload": map[string]string{
"id": player.ID,
"id": fmt.Sprintf("%d", player.ID),
},
})
@@ -62,12 +60,15 @@ func ServeWS(room *Room, w http.ResponseWriter, r *http.Request) {
}
func readLoop(room *Room, player *Player) {
defer func() {
delete(room.Players, player.ID)
player.Conn.Close()
}()
for {
var msg InputMessage
err := player.Conn.ReadJSON(&msg)
if err != nil {
delete(room.Players, player.ID)
player.Conn.Close()
return
}