59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
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{})
|
|
}
|