284 lines
5.8 KiB
Go
284 lines
5.8 KiB
Go
|
package main
|
|||
|
|
|||
|
import (
|
|||
|
"fmt"
|
|||
|
"math/rand"
|
|||
|
"strings"
|
|||
|
"time"
|
|||
|
|
|||
|
"github.com/yanzay/tbot/v2"
|
|||
|
)
|
|||
|
|
|||
|
var fruw = map[string]string{
|
|||
|
"cow": `
|
|||
|
\ /
|
|||
|
: ^__^
|
|||
|
\ (oo)\_______
|
|||
|
(__)\ )\/\
|
|||
|
||----w |
|
|||
|
|| ||
|
|||
|
`, //pig by jv
|
|||
|
"pig": `
|
|||
|
\ /
|
|||
|
: <'--'\>______
|
|||
|
\ /. . '' \
|
|||
|
('') , @
|
|||
|
'-._, /
|
|||
|
)-)_/--( >
|
|||
|
'''' ''''
|
|||
|
`, //cat by sk
|
|||
|
"cat": `
|
|||
|
\ /
|
|||
|
: v v
|
|||
|
\ |\---/|
|
|||
|
( o_o )
|
|||
|
\_W__/-..----.
|
|||
|
___/ ' ' ,""+\
|
|||
|
(__...' __\ |'.___.';
|
|||
|
(_,...-'''(_,.'__)/'.....+
|
|||
|
`, //aardvarks
|
|||
|
"aardvarks": `
|
|||
|
\ /
|
|||
|
: _.---._ /\\
|
|||
|
\ ./' "--'\//
|
|||
|
./ o \
|
|||
|
/./\ )______ \__ \
|
|||
|
./ / /\ \ | \ \ \ \
|
|||
|
/ / \ \ | |\ \ \7
|
|||
|
" " " "
|
|||
|
`, //bat by jgs
|
|||
|
"bat": `
|
|||
|
\ /
|
|||
|
\ _
|
|||
|
/\ \ /\
|
|||
|
/ \'._ (\_/) _.'/ \
|
|||
|
|.''._'--(o.o)--'_.''.|
|
|||
|
\_ / ';=/ " \=;' \ _/
|
|||
|
'\__| \___/ |__/'
|
|||
|
\(_|_)/
|
|||
|
" ' "
|
|||
|
`, //beer
|
|||
|
"bear": `
|
|||
|
\ /
|
|||
|
__ __
|
|||
|
/ \.-"""-./ \
|
|||
|
\ - - /
|
|||
|
| o o |
|
|||
|
\ .-'''-. /
|
|||
|
'-\__Y__/-'
|
|||
|
'---'
|
|||
|
`, //beaver by jgs
|
|||
|
"beaver": `
|
|||
|
\ /
|
|||
|
\
|
|||
|
: .=" "=._.---.
|
|||
|
\ ." c 6 Y 6'p
|
|||
|
: / , '. w_/
|
|||
|
\ : '-. / /
|
|||
|
_,..._/ )_-\ \_=.\
|
|||
|
'-....-''------)))'=-'"''"
|
|||
|
`, //bison by cp97
|
|||
|
"bison": `
|
|||
|
\ /
|
|||
|
:
|
|||
|
((_,...,_))
|
|||
|
|o o|
|
|||
|
\ /
|
|||
|
^_^
|
|||
|
|
|||
|
`, //cock by sk
|
|||
|
"cock": `
|
|||
|
\ /
|
|||
|
\ /""\ ,
|
|||
|
< ^ L____/|
|
|||
|
#) /' , /
|
|||
|
\ '---' /
|
|||
|
''";\)'
|
|||
|
_/_Y
|
|||
|
`, //duck buy hjw
|
|||
|
"duck": `
|
|||
|
\ / __
|
|||
|
<(o )___
|
|||
|
( ._> /
|
|||
|
'---'
|
|||
|
`, //camel by jgs
|
|||
|
"camel": `
|
|||
|
\ /
|
|||
|
: _
|
|||
|
\ .--' |
|
|||
|
/___^ | .--.
|
|||
|
) | / \
|
|||
|
/ | /' '.
|
|||
|
| '-' / \
|
|||
|
\ | |\
|
|||
|
\ / \ /\|
|
|||
|
\ /'----'\ / "
|
|||
|
||| \\ |
|
|||
|
((| ((|
|
|||
|
||| |||
|
|||
|
//_( //_(
|
|||
|
`, //deer
|
|||
|
"deer": `
|
|||
|
\ /
|
|||
|
: )) ((
|
|||
|
\ // \\
|
|||
|
: \\____//\
|
|||
|
\ ~/~ ~\/~
|
|||
|
( o/ _/o ~
|
|||
|
/ / ,|
|
|||
|
(~~~)__.-\ |
|
|||
|
\'~~ | |
|
|||
|
| | |
|
|||
|
`, //dog
|
|||
|
"dog": `
|
|||
|
\ /
|
|||
|
\ |\_/| _
|
|||
|
: @ @ | ((| |))
|
|||
|
\ <> | | |
|
|||
|
/\_ \------____| |
|
|||
|
| |
|
|||
|
____|_ ___| /
|
|||
|
/_/_____/____/_______|
|
|||
|
`, //dolphin by Morfina
|
|||
|
"dolphin": `
|
|||
|
\ /
|
|||
|
: ,-.
|
|||
|
\ / ( '
|
|||
|
_.--'! '--._
|
|||
|
,' ''.
|
|||
|
* : \
|
|||
|
_.' O ___ ! '
|
|||
|
(_.-^, __..-' ''''--. |
|
|||
|
/,' ' _.' /
|
|||
|
* .-'' |
|
|||
|
(..--^. '
|
|||
|
| /
|
|||
|
'
|
|||
|
`, //elephant by Row
|
|||
|
"elephant": `
|
|||
|
\ /
|
|||
|
/ ___ _,.--.,_
|
|||
|
: .-~ ~--"~-. ._ "-.
|
|||
|
\ / ./_ Y "-. \
|
|||
|
: Y :~ ! Y
|
|||
|
/ l | / .|
|
|||
|
:_ \O O-, l / |j
|
|||
|
()\___) |/ \_/"; !
|
|||
|
\._____.-~\ . ~\. ./
|
|||
|
Y_ Y_. "vr"~ T
|
|||
|
( ( |L j
|
|||
|
[nn[nn..][nn..]
|
|||
|
`, //fish
|
|||
|
"fish": `
|
|||
|
\ /
|
|||
|
\ /'·.¸
|
|||
|
: /¸...¸':·
|
|||
|
\ ¸.·' ¸ '·.¸.·')
|
|||
|
: © ):'; ¸ {
|
|||
|
'·.¸ '· ¸.·'\'·¸)
|
|||
|
'\\''\¸.·'
|
|||
|
`, //whale by Riitta Rasimus
|
|||
|
"whale": `
|
|||
|
\ /
|
|||
|
:
|
|||
|
\
|
|||
|
:
|
|||
|
\
|
|||
|
__:_____ |"\/"|
|
|||
|
,' '. \ /
|
|||
|
| O \___/ |
|
|||
|
~^~^~^~^~^~^~^~^~^~^~^~^~
|
|||
|
`, //shark by Shanaka Dias
|
|||
|
"shark": `
|
|||
|
\ /
|
|||
|
:
|
|||
|
\
|
|||
|
_________ . .
|
|||
|
(.. \_ , |\ /|
|
|||
|
\ O \ /| \ \/ /
|
|||
|
\______ \/ | \ /
|
|||
|
vvvv\ \ | / |
|
|||
|
\^^^^ == \_/ |
|
|||
|
'\_ === \. |
|
|||
|
/ /\_ \ / |
|
|||
|
|/ \_ \| /
|
|||
|
\________/
|
|||
|
`, //seahorse by Morfina
|
|||
|
"seahorse": `
|
|||
|
\ /
|
|||
|
:
|
|||
|
\
|
|||
|
:
|
|||
|
\
|
|||
|
:
|
|||
|
\/)/)
|
|||
|
_' oo(_.-.
|
|||
|
/'. .---'
|
|||
|
/'-./ (
|
|||
|
) ; __\
|
|||
|
\_.'\ : __|
|
|||
|
) _/
|
|||
|
( (,.
|
|||
|
'-.-'
|
|||
|
`}
|
|||
|
|
|||
|
var rndmap = map[int]string{
|
|||
|
0: "cow",
|
|||
|
1: "pig",
|
|||
|
2: "cat",
|
|||
|
3: "bat",
|
|||
|
4: "bear",
|
|||
|
5: "bison",
|
|||
|
6: "cock",
|
|||
|
7: "duck",
|
|||
|
8: "camel",
|
|||
|
9: "deer",
|
|||
|
10: "dog",
|
|||
|
11: "dolphin",
|
|||
|
12: "elephant",
|
|||
|
13: "fish",
|
|||
|
14: "whale",
|
|||
|
15: "shark",
|
|||
|
16: "seahorse",
|
|||
|
17: "aardvarks",
|
|||
|
18: "beaver",
|
|||
|
}
|
|||
|
|
|||
|
var lenmap = len(rndmap)
|
|||
|
|
|||
|
// Handle the /start command here
|
|||
|
func (a *application) startHandler(m *tbot.Message) {
|
|||
|
org := ""
|
|||
|
for i := 0; i < lenmap; i++ {
|
|||
|
org = fmt.Sprintf("%s*%s*", org, rndmap[i])
|
|||
|
if i < lenmap-1 {
|
|||
|
org = org + ", "
|
|||
|
}
|
|||
|
}
|
|||
|
msg := fmt.Sprintf("\n*Привет!* Присылай сообщение и я его преобразую.\n"+
|
|||
|
"\nСо случайным животным:\nЕсли тебе было весело, то это не военное преступление.\n"+
|
|||
|
"\nС указанием животного:\n*cat* Если тебе было весело, то это не военное преступление.\n"+
|
|||
|
"\nВместо *cat* можно подставить любое другое животное.\nТолько не забудь про пробел, десу.\n"+
|
|||
|
"\nЖивотные: %s.\n"+
|
|||
|
"\n*Пример ответа:*\n"+"```\n< Если тебе было весело, то это не военное преступление. >%s```", org, fruw["cat"])
|
|||
|
a.client.SendMessage(m.Chat.ID, msg, tbot.OptParseModeMarkdown)
|
|||
|
}
|
|||
|
|
|||
|
// Handle the msg command here
|
|||
|
func (a *application) msgHandler(m *tbot.Message) {
|
|||
|
msg := ""
|
|||
|
arr := strings.Split(m.Text, " ")
|
|||
|
animal := strings.ToLower(arr[0])
|
|||
|
if fruw[animal] != "" && len(arr) > 1 {
|
|||
|
reply := fruw[animal]
|
|||
|
text := strings.TrimPrefix(m.Text, arr[0]+" ")
|
|||
|
msg = fmt.Sprintf("```\n< %s > %s ```", text, reply)
|
|||
|
} else {
|
|||
|
rand.Seed(time.Now().UnixNano())
|
|||
|
rnd := (rand.Intn(lenmap))
|
|||
|
reply := fruw[rndmap[rnd]]
|
|||
|
msg = fmt.Sprintf("```\n< %s > %s ```", m.Text, reply)
|
|||
|
}
|
|||
|
a.client.SendMessage(m.Chat.ID, msg, tbot.OptParseModeMarkdown)
|
|||
|
}
|