Added fourth logo, fixed docker-compose
This commit is contained in:
parent
e7c293af38
commit
fde78ccc88
|
@ -1,3 +1,5 @@
|
||||||
bin
|
bin
|
||||||
*.env
|
*.env
|
||||||
.vscode
|
.vscode
|
||||||
|
mongodata
|
||||||
|
mongoconfig
|
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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:
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue