Added fourth logo, fixed docker-compose

This commit is contained in:
Vlad Rud 2022-02-02 12:16:45 +03:00
parent e7c293af38
commit fde78ccc88
5 changed files with 20 additions and 6 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
bin bin
*.env *.env
.vscode .vscode
mongodata
mongoconfig

BIN
assets/gamemaker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -15,6 +15,9 @@ import (
"github.com/fogleman/gg" "github.com/fogleman/gg"
) )
var ImageWidth int = 600
var ImageHeight int = 400
type Logo struct { type Logo struct {
Image image.Image Image image.Image
IsCorrect bool IsCorrect bool
@ -30,16 +33,17 @@ var XPositions []int = []int{}
// Создаём пустое изображение с серым градиентом, грузим шрифт из /assets и возвращаем контекст вызвавшей функции // Создаём пустое изображение с серым градиентом, грузим шрифт из /assets и возвращаем контекст вызвавшей функции
func initImage() *gg.Context { func initImage() *gg.Context {
dc := gg.NewContext(600, 400) dc := gg.NewContext(ImageWidth, ImageHeight)
if err := dc.LoadFontFace("./assets/font.ttf", 24); err != nil { if err := dc.LoadFontFace("./assets/font.ttf", 24); err != nil {
panic(err) 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(0, color.RGBA{71, 100, 106, 255})
grad.AddColorStop(1, color.RGBA{44, 43, 51, 255}) grad.AddColorStop(1, color.RGBA{44, 43, 51, 255})
dc.SetFillStyle(grad) dc.SetFillStyle(grad)
dc.DrawRectangle(0, 0, 600, 400) dc.DrawRectangle(0, 0, fIWidth, fIHeight)
dc.Fill() dc.Fill()
return dc return dc
} }
@ -57,7 +61,7 @@ func GenCaptcha() Captcha {
correct_answer := 0 correct_answer := 0
for i, logo := range Logos { for i, logo := range Logos {
x := XPositions[i] 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) dc.DrawImage(logo.Image, x, y)
if logo.IsCorrect { if logo.IsCorrect {
correct_answer = i + 1 correct_answer = i + 1
@ -115,7 +119,7 @@ func Init() error {
} }
for i := range Logos { for i := range Logos {
XPositions = append(XPositions, 50+i*600/len(Logos)) // Горизонтальное расположение не рандомно: чтобы логотипы не перемешались. XPositions = append(XPositions, 50+i*ImageWidth/len(Logos)) // Горизонтальное расположение не рандомно: чтобы логотипы не перемешались.
} }
return nil return nil
} }

View File

@ -16,6 +16,9 @@ services:
- mongo.env - mongo.env
ports: ports:
- 127.0.0.1:28001:27017 - 127.0.0.1:28001:27017
volumes:
- mongodata:/data/db
- mongoconfig:/data/configdb
mongo-express: mongo-express:
image: mongo-express image: mongo-express
@ -24,3 +27,7 @@ services:
- 127.0.0.1:8089:8081 - 127.0.0.1:8089:8081
env_file: env_file:
- mongo.env - mongo.env
volumes:
mongodata:
mongoconfig:

View File

@ -73,6 +73,7 @@ var HandlersV1 = []Handler{
bot.Delete(message) bot.Delete(message)
bot.Delete(&tb.Message{Chat: message.Chat, ID: user.CaptchaMessage}) bot.Delete(&tb.Message{Chat: message.Chat, ID: user.CaptchaMessage})
bot.Ban(message.Chat, &tb.ChatMember{User: sender}) bot.Ban(message.Chat, &tb.ChatMember{User: sender})
_ = d.RemoveUser(ctx, user)
} }
} }
return nil return nil