package chat import ( "crypto/rand" "encoding/hex" "time" ) // newQuestionID генерирует уникальный идентификатор вопроса (блок 4: // идентификатор в каждом Message, чтобы связать ответ с вопросом). func newQuestionID() string { b := make([]byte, 8) if _, err := rand.Read(b); err != nil { // крипто-rand недоступен — fallback по времени (уникален на практике) return "q_" + hex.EncodeToString([]byte(time.Now().Format("150405.000000000"))) } return "q_" + hex.EncodeToString(b) }