-
Notifications
You must be signed in to change notification settings - Fork 24
/
solver.go
25 lines (21 loc) · 668 Bytes
/
solver.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package hcaptcha
import (
"github.com/justtaldevelops/go-hcaptcha/utils"
)
// Solver is an interface to solve hCaptcha tasks.
type Solver interface {
// Solve solves the hCaptcha tasks using the category, question, and the task. If it was successful,
// it returns true, and in all other cases, it returns false.
Solve(category, question string, tasks []Task) []Task
}
// GuessSolver solves hCaptcha tasks by guessing the solution.
type GuessSolver struct{}
// Solve ...
func (s *GuessSolver) Solve(_, _ string, tasks []Task) (answers []Task) {
for _, task := range tasks {
if utils.Chance(0.5) {
answers = append(answers, task)
}
}
return answers
}