2023-05-06 23:23:23 +02:00
|
|
|
|
package commands
|
|
|
|
|
|
|
|
|
|
import "fmt"
|
|
|
|
|
|
|
|
|
|
var cm = map[string]string{
|
|
|
|
|
"`": "ё",
|
|
|
|
|
"~": "Ё",
|
|
|
|
|
"=": "ъ",
|
|
|
|
|
"+": "Ъ",
|
|
|
|
|
"[": "ю",
|
|
|
|
|
"]": "щ",
|
|
|
|
|
`\`: "э",
|
|
|
|
|
"{": "Ю",
|
|
|
|
|
"}": "Щ",
|
|
|
|
|
"|": "Э",
|
|
|
|
|
";": "ь",
|
|
|
|
|
":": "Ь",
|
|
|
|
|
"'": "ж",
|
|
|
|
|
`"`: "Ж",
|
|
|
|
|
|
|
|
|
|
"q": "я",
|
|
|
|
|
"w": "ш",
|
|
|
|
|
"e": "е",
|
|
|
|
|
"r": "р",
|
|
|
|
|
"t": "т",
|
|
|
|
|
"y": "ы",
|
|
|
|
|
"u": "у",
|
|
|
|
|
"i": "и",
|
|
|
|
|
"o": "о",
|
|
|
|
|
"p": "п",
|
|
|
|
|
"a": "а",
|
|
|
|
|
"s": "с",
|
|
|
|
|
"d": "д",
|
|
|
|
|
"f": "ф",
|
|
|
|
|
"g": "г",
|
|
|
|
|
"h": "ч",
|
|
|
|
|
"j": "й",
|
|
|
|
|
"k": "к",
|
|
|
|
|
"l": "л",
|
|
|
|
|
"z": "з",
|
|
|
|
|
"x": "х",
|
|
|
|
|
"c": "ц",
|
|
|
|
|
"v": "в",
|
|
|
|
|
"b": "б",
|
|
|
|
|
"n": "н",
|
|
|
|
|
"m": "м",
|
|
|
|
|
|
|
|
|
|
"Q": "Я",
|
|
|
|
|
"W": "Ш",
|
|
|
|
|
"E": "Е",
|
|
|
|
|
"R": "Р",
|
|
|
|
|
"T": "Т",
|
|
|
|
|
"Y": "Ы",
|
|
|
|
|
"U": "У",
|
|
|
|
|
"I": "И",
|
|
|
|
|
"O": "О",
|
|
|
|
|
"P": "П",
|
|
|
|
|
"A": "А",
|
|
|
|
|
"S": "С",
|
|
|
|
|
"D": "Д",
|
|
|
|
|
"F": "Ф",
|
|
|
|
|
"G": "Г",
|
|
|
|
|
"H": "Ч",
|
|
|
|
|
"J": "Й",
|
|
|
|
|
"K": "К",
|
|
|
|
|
"L": "Л",
|
|
|
|
|
"Z": "З",
|
|
|
|
|
"X": "Х",
|
|
|
|
|
"C": "Ц",
|
|
|
|
|
"V": "В",
|
|
|
|
|
"B": "Б",
|
|
|
|
|
"N": "Н",
|
|
|
|
|
"M": "М",
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-07 00:30:24 +02:00
|
|
|
|
func PhoneticExplanation() string {
|
|
|
|
|
// This might look like complete ass depending on the
|
|
|
|
|
// matrix clients font. Looks fine on my Element client.
|
|
|
|
|
help := `
|
|
|
|
|
| Ё | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | Ъ |
|
|
|
|
|
| Я | Ш | Е | Р | Т | Ы | У | И | О | П | Ю | Щ | Э |
|
|
|
|
|
| А | С | Д | Ф | Г | Ч | Й | К | Л | Ь | Ж |
|
|
|
|
|
| З | Х | Ц | В | Б | Н | М | ; | : |
|
|
|
|
|
`
|
|
|
|
|
return help
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-06 23:23:23 +02:00
|
|
|
|
func Phonetic(message string) (string, error) {
|
|
|
|
|
var ts string
|
|
|
|
|
|
|
|
|
|
for _, c := range message {
|
|
|
|
|
if _, ok := cm[string(c)]; ok {
|
|
|
|
|
ts = ts + cm[string(c)]
|
|
|
|
|
} else {
|
|
|
|
|
ts = ts + string(c)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fmt.Sprint(ts), nil
|
|
|
|
|
}
|