diff --git a/.gitignore b/.gitignore index 114de3d..5c2f2ba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ bin *.env -.vscode \ No newline at end of file +.vscode +mongodata +mongoconfig \ No newline at end of file diff --git a/assets/gamemaker.png b/assets/gamemaker.png new file mode 100644 index 0000000..2b2f334 Binary files /dev/null and b/assets/gamemaker.png differ diff --git a/captchagen/captchagen.go b/captchagen/captchagen.go index 12a0276..e2d878f 100644 --- a/captchagen/captchagen.go +++ b/captchagen/captchagen.go @@ -15,6 +15,9 @@ import ( "github.com/fogleman/gg" ) +var ImageWidth int = 600 +var ImageHeight int = 400 + type Logo struct { Image image.Image IsCorrect bool @@ -30,16 +33,17 @@ var XPositions []int = []int{} // Создаём пустое изображение с серым градиентом, грузим шрифт из /assets и возвращаем контекст вызвавшей функции func initImage() *gg.Context { - dc := gg.NewContext(600, 400) + dc := gg.NewContext(ImageWidth, ImageHeight) if err := dc.LoadFontFace("./assets/font.ttf", 24); err != nil { panic(err) } - grad := gg.NewLinearGradient(0, 0, 600, 400) + fIWidth, fIHeight := float64(ImageWidth), float64(ImageHeight) + grad := gg.NewLinearGradient(0, 0, fIWidth, fIHeight) grad.AddColorStop(0, color.RGBA{71, 100, 106, 255}) grad.AddColorStop(1, color.RGBA{44, 43, 51, 255}) dc.SetFillStyle(grad) - dc.DrawRectangle(0, 0, 600, 400) + dc.DrawRectangle(0, 0, fIWidth, fIHeight) dc.Fill() return dc } @@ -57,7 +61,7 @@ func GenCaptcha() Captcha { correct_answer := 0 for i, logo := range Logos { x := XPositions[i] - y := rand.Intn(400 - logo.Image.Bounds().Dy()) + y := rand.Intn(ImageHeight - logo.Image.Bounds().Dy() - 30) dc.DrawImage(logo.Image, x, y) if logo.IsCorrect { correct_answer = i + 1 @@ -115,7 +119,7 @@ func Init() error { } for i := range Logos { - XPositions = append(XPositions, 50+i*600/len(Logos)) // Горизонтальное расположение не рандомно: чтобы логотипы не перемешались. + XPositions = append(XPositions, 50+i*ImageWidth/len(Logos)) // Горизонтальное расположение не рандомно: чтобы логотипы не перемешались. } return nil } diff --git a/docker-compose.yml b/docker-compose.yml index e813802..67eef0c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,9 @@ services: - mongo.env ports: - 127.0.0.1:28001:27017 + volumes: + - mongodata:/data/db + - mongoconfig:/data/configdb mongo-express: image: mongo-express @@ -24,3 +27,7 @@ services: - 127.0.0.1:8089:8081 env_file: - mongo.env + +volumes: + mongodata: + mongoconfig: \ No newline at end of file diff --git a/kicker/handlers.go b/kicker/handlers.go index 75f984a..253d3d7 100644 --- a/kicker/handlers.go +++ b/kicker/handlers.go @@ -73,6 +73,7 @@ var HandlersV1 = []Handler{ bot.Delete(message) bot.Delete(&tb.Message{Chat: message.Chat, ID: user.CaptchaMessage}) bot.Ban(message.Chat, &tb.ChatMember{User: sender}) + _ = d.RemoveUser(ctx, user) } } return nil