feat(names): Add default Russian names and graceful fallback loading

This commit is contained in:
zarazaex69
2026-04-09 20:00:00 +03:00
parent 661ed9f39a
commit 3d39e245c8
2 changed files with 20 additions and 14 deletions

View File

@@ -68,9 +68,7 @@ func main() {
namesPath := filepath.Join(dataDir, "names")
surnamesPath := filepath.Join(dataDir, "surnames")
if err := names.LoadNameFiles(namesPath, surnamesPath); err != nil {
log.Fatalf("Failed to load name files: %v", err)
}
names.LoadNameFiles(namesPath, surnamesPath)
roomURL := "https://telemost.yandex.ru/j/" + roomID

View File

@@ -12,6 +12,18 @@ var (
lastNames []string
)
var defaultFirstNames = []string{
"Александр", "Дмитрий", "Максим", "Сергей", "Андрей", "Алексей", "Артём", "Илья", "Кирилл", "Михаил",
"Никита", "Матвей", "Роман", "Егор", "Арсений", "Иван", "Денис", "Евгений", "Даниил", "Тимофей",
"Владислав", "Игорь", "Владимир", "Павел", "Руслан", "Марк", "Константин", "Николай", "Олег", "Виктор",
}
var defaultLastNames = []string{
"Иванов", "Смирнов", "Кузнецов", "Попов", "Васильев", "Петров", "Соколов", "Михайлов", "Новиков", "Фёдоров",
"Морозов", "Волков", "Алексеев", "Лебедев", "Семёнов", "Егоров", "Павлов", "Козлов", "Степанов", "Николаев",
"Орлов", "Андреев", "Макаров", "Никитин", "Захаров", "Зайцев", "Соловьёв", "Борисов", "Яковлев", "Григорьев",
}
func loadNames(path string) ([]string, error) {
file, err := os.Open(path)
if err != nil {
@@ -32,25 +44,21 @@ func loadNames(path string) ([]string, error) {
}
func LoadNameFiles(firstPath, lastPath string) error {
var err error
firstNames, err = loadNames(firstPath)
if err != nil {
return err
firstNames = defaultFirstNames
lastNames = defaultLastNames
if names, err := loadNames(firstPath); err == nil {
firstNames = names
}
lastNames, err = loadNames(lastPath)
if err != nil {
return err
if names, err := loadNames(lastPath); err == nil {
lastNames = names
}
return nil
}
func Generate() string {
if len(firstNames) == 0 || len(lastNames) == 0 {
return "Unknown User"
}
first := firstNames[rand.IntN(len(firstNames))]
last := lastNames[rand.IntN(len(lastNames))]