• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Civil / tg-simple-regex-antispam / 13070263183

31 Jan 2025 09:45AM UTC coverage: 0.0%. Remained the same
13070263183

Pull #5

github

Civil
Refactor and improve bot

 * Fixed small bug in forward action
 * package statefulFilters renamed to chains
 * generic badgerdb interface
 * add filter that counts repeated messages
 * add filter that checks if message is a story
 * add filter that checks if message was marked as spam
Pull Request #5: some improvements

0 of 1422 new or added lines in 20 files covered. (0.0%)

21 existing lines in 3 files now uncovered.

0 of 3756 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/filters/filteringRules/isStory/rule.go
1
package isStory
2

3
import (
4
        "github.com/mymmrac/telego"
5
        "go.uber.org/zap"
6

7
        "github.com/Civil/tg-simple-regex-antispam/filters/interfaces"
8
        "github.com/Civil/tg-simple-regex-antispam/filters/types/scoringResult"
9
        config2 "github.com/Civil/tg-simple-regex-antispam/helper/config"
10
)
11

12
type Filter struct {
13
        logger    *zap.Logger
14
        chainName string
15
        isFinal   bool
16
}
17

NEW
18
func New(logger *zap.Logger, config map[string]any, chainName string) (interfaces.FilteringRule, error) {
×
NEW
19
        logger = logger.With(zap.String("filter", chainName), zap.String("filter_type", "isStory"))
×
NEW
20
        isFinal, err := config2.GetOptionBoolWithDefault(config, "isFinal", true)
×
NEW
21
        if err != nil {
×
NEW
22
                return nil, err
×
NEW
23
        }
×
24

NEW
25
        return &Filter{
×
NEW
26
                logger:    logger,
×
NEW
27
                chainName: chainName,
×
NEW
28
                isFinal:   isFinal,
×
NEW
29
        }, nil
×
30
}
31

NEW
32
func Help() string {
×
NEW
33
        return "isForward checks if the message is forwarded"
×
NEW
34
}
×
35

NEW
36
func (r *Filter) Score(_ *telego.Bot, msg *telego.Message) *scoringResult.ScoringResult {
×
NEW
37
        res := &scoringResult.ScoringResult{}
×
NEW
38
        if msg.Story != nil && msg.Story.ID != 0 {
×
NEW
39
                res.Reason = "this message is a story"
×
NEW
40
                res.Score = 100
×
NEW
41
        }
×
NEW
42
        return res
×
43
}
44

NEW
45
func (r *Filter) IsStateful() bool {
×
NEW
46
        return false
×
NEW
47
}
×
48

NEW
49
func (r *Filter) GetName() string {
×
NEW
50
        return "isStory"
×
NEW
51
}
×
52

NEW
53
func (r *Filter) GetFilterName() string {
×
NEW
54
        return ""
×
NEW
55
}
×
56

NEW
57
func (r *Filter) IsFinal() bool {
×
NEW
58
        return r.isFinal
×
NEW
59
}
×
60

NEW
61
func (r *Filter) TGAdminPrefix() string {
×
NEW
62
        return ""
×
NEW
63
}
×
64

NEW
65
func (r *Filter) HandleTGCommands(_ *zap.Logger, _ *telego.Bot, _ *telego.Message, _ []string) error {
×
NEW
66
        return nil
×
NEW
67
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc