func()

in reviewer-akismet/basic.go [65:100]


func (r *Reviewer) Review(content *plugin.ReviewContent) (result *plugin.ReviewResult) {
	result = &plugin.ReviewResult{Approved: true}
	if len(r.Config.APIKey) == 0 {
		return result
	}
	// If the author is admin, no need to review
	if content.Author.Role > 1 {
		return result
	}

	isSpam, err := r.RequestAkismetToCheck(content)
	if err != nil {
		log.Errorf("Request Akismet to check failed: %v", err)
		return &plugin.ReviewResult{
			Approved:     false,
			ReviewStatus: plugin.ReviewStatusNeedReview,
			Reason:       plugin.TranslateWithData(myI18n.Language(content.Language), i18n.CommentNeedReview, nil),
		}
	}
	if !isSpam {
		return result
	}

	if r.Config.SpamFiltering == "delete" {
		return &plugin.ReviewResult{
			Approved:     false,
			ReviewStatus: plugin.ReviewStatusDeleteDirectly,
			Reason:       plugin.TranslateWithData(myI18n.Language(content.Language), i18n.CommentNeedReview, nil),
		}
	}
	return &plugin.ReviewResult{
		Approved:     false,
		ReviewStatus: plugin.ReviewStatusNeedReview,
		Reason:       plugin.TranslateWithData(myI18n.Language(content.Language), i18n.CommentNeedReview, nil),
	}
}