gofuckyourself: github.com/JoshuaDoes/gofuckyourself Index | Files

package swearfilter

import "github.com/JoshuaDoes/gofuckyourself"


Package Files


type SwearFilter Uses

type SwearFilter struct {
    //Options to tell the swear filter how to operate
    DisableNormalize                bool //Disables normalization of alphabetic characters if set to true (ex: à -> a)
    DisableSpacedTab                bool //Disables converting tabs to singular spaces (ex: [tab][tab] -> [space][space])
    DisableMultiWhitespaceStripping bool //Disables stripping down multiple whitespaces (ex: hello[space][space]world -> hello[space]world)
    DisableZeroWidthStripping       bool //Disables stripping zero-width spaces
    EnableSpacedBypass              bool //Disables testing for spaced bypasses (if hell is in filter, look for occurrences of h and detect only alphabetic characters that follow; ex: h[space]e[space]l[space]l[space] -> hell)

    //A list of words to check against the filters
    BadWords []string

SwearFilter contains settings for the swear filter

func NewSwearFilter Uses

func NewSwearFilter(enableSpacedBypass bool, uhohwords ...string) (filter *SwearFilter)

NewSwearFilter returns an initialized SwearFilter struct to check messages against

func (*SwearFilter) Add Uses

func (filter *SwearFilter) Add(badWords ...string)

Add appends the given word to the uhohwords list

func (*SwearFilter) Check Uses

func (filter *SwearFilter) Check(message string) (trippedWords []string, err error)

Check will return any words that trip an enabled swear filter, an error if any, or nothing if you've removed all the words for some reason

Package swearfilter imports 5 packages (graph). Updated 2020-12-21. Refresh now. Tools for package owners.