package commands import ( "encoding/json" "math/rand" "os" "sync" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5" ) type GaynameCommand struct{} var ( gaynameData struct { First []string `json:"first"` Last []string `json:"last"` } gaynameOnce sync.Once ) func loadGaynameData() { file, err := os.Open("json/gayname.json") if err != nil { gaynameData.First = []string{"Failed"} gaynameData.Last = []string{"to load"} return } defer file.Close() json.NewDecoder(file).Decode(&gaynameData) } func (g GaynameCommand) Name() string { return "gayname" } func (g GaynameCommand) Help() string { return "Your gay name" } func (g GaynameCommand) Execute(update tgbotapi.Update, bot *tgbotapi.BotAPI) { gaynameOnce.Do(loadGaynameData) user := update.Message.From var result string if user != nil && user.LanguageCode == "pl-PL" { result = user.FirstName + " aka FILTHY PIECE OF RETARD POLAK MIDGETSHIT" } else { first := gaynameData.First[rand.Intn(len(gaynameData.First))] last := gaynameData.Last[rand.Intn(len(gaynameData.Last))] result = user.FirstName + " aka " + first + " " + last } msg := tgbotapi.NewMessage(update.Message.Chat.ID, result) bot.Send(msg) } func init() { Register(GaynameCommand{}) }