Documentation ¶
Index ¶
- Constants
- Variables
- func ActionExists(ctx context.Context, us user.Store, uuid string, forceInsistLogout bool, ...) (bool, error)
- func ApplyActions(ctx context.Context, us user.Store, cs user.ChatStore, actions []*ms.ModAction) error
- func Automod(ctx context.Context, us user.Store, ns NotorietyStore, u0 *entity.User, ...) error
- func CensorHistory(ctx context.Context, us user.Store, hist *macondopb.GameHistory) *macondopb.GameHistory
- func FormatNotorietyReport(ns NotorietyStore, uuid string, limit int) (string, error)
- func GetActionHistory(ctx context.Context, us user.Store, uuid string) ([]*ms.ModAction, error)
- func GetActions(ctx context.Context, us user.Store, uuid string) (map[string]*ms.ModAction, error)
- func GetNotorietyReport(ctx context.Context, us user.Store, ns NotorietyStore, uuid string, limit int) (int, []*ms.NotoriousGame, error)
- func IsCensorable(ctx context.Context, us user.Store, uuid string) bool
- func IsRemoval(action *ms.ModAction) bool
- func RemoveActions(ctx context.Context, us user.Store, actions []*ms.ModAction) error
- func ResetNotoriety(ctx context.Context, us user.Store, ns NotorietyStore, uuid string) error
- type EmailInfo
- type ModService
- func (ms *ModService) ApplyActions(ctx context.Context, req *pb.ModActionsList) (*pb.ModActionResponse, error)
- func (ms *ModService) GetActionHistory(ctx context.Context, req *pb.GetActionsRequest) (*pb.ModActionsList, error)
- func (ms *ModService) GetActions(ctx context.Context, req *pb.GetActionsRequest) (*pb.ModActionsMap, error)
- func (ms *ModService) GetNotorietyReport(ctx context.Context, req *pb.GetNotorietyReportRequest) (*pb.NotorietyReport, error)
- func (ms *ModService) RemoveActions(ctx context.Context, req *pb.ModActionsList) (*pb.ModActionResponse, error)
- func (ms *ModService) ResetNotoriety(ctx context.Context, req *pb.ResetNotorietyRequest) (*pb.ResetNotorietyResponse, error)
- type NotorietyStore
Constants ¶
View Source
const AddressToContact = "conduct@woogles.io"
View Source
const EmailTemplateName = "email"
View Source
const TermsOfServiceURL = "https://woogles.io/terms"
Variables ¶
View Source
var AdminRequiredMap = map[pb.ModActionType]bool{ pb.ModActionType_MUTE: false, pb.ModActionType_SUSPEND_ACCOUNT: false, pb.ModActionType_SUSPEND_RATED_GAMES: false, pb.ModActionType_SUSPEND_GAMES: false, pb.ModActionType_RESET_RATINGS: true, pb.ModActionType_RESET_STATS: true, pb.ModActionType_RESET_STATS_AND_RATINGS: true, pb.ModActionType_REMOVE_CHAT: false, pb.ModActionType_DELETE_ACCOUNT: true, }
View Source
var AutomodUserId string = "AUTOMOD"
View Source
var BehaviorToScore map[ms.NotoriousGameType]int = map[ms.NotoriousGameType]int{ ms.NotoriousGameType_NO_PLAY_DENIED_NUDGE: 10, ms.NotoriousGameType_EXCESSIVE_PHONIES: 8, ms.NotoriousGameType_NO_PLAY: 6, ms.NotoriousGameType_SITTING: 4, ms.NotoriousGameType_SANDBAG: 4, }
View Source
var BehaviorToString map[ms.NotoriousGameType]string = map[ms.NotoriousGameType]string{ ms.NotoriousGameType_NO_PLAY_DENIED_NUDGE: "No Play (Denied Nudge)", ms.NotoriousGameType_EXCESSIVE_PHONIES: "Excessive Phonies", ms.NotoriousGameType_NO_PLAY: "No Play", ms.NotoriousGameType_SITTING: "Sitting", ms.NotoriousGameType_SANDBAG: "Sandbagging", }
View Source
var DurationMultiplier int = 24 * 60 * 60
View Source
var EmailTemplate string
View Source
var ExcessivePhonyMinimum int = 3
View Source
var ExcessivePhonyThreshold float64 = 0.5
View Source
var IsTesting = strings.HasSuffix(os.Args[0], ".test")
View Source
var ModActionDispatching = map[ms.ModActionType]func(context.Context, user.Store, user.ChatStore, *ms.ModAction) error{ ms.ModActionType_RESET_RATINGS: resetRatings, ms.ModActionType_RESET_STATS: resetStats, ms.ModActionType_RESET_STATS_AND_RATINGS: resetStatsAndRatings, ms.ModActionType_REMOVE_CHAT: removeChat, ms.ModActionType_DELETE_ACCOUNT: deleteAccount, }
View Source
var ModActionEmailMap = map[ms.ModActionType]string{ ms.ModActionType_MUTE: "Disable Chat", ms.ModActionType_SUSPEND_ACCOUNT: "Account Suspension", ms.ModActionType_SUSPEND_RATED_GAMES: "Suspend Rated Games", ms.ModActionType_SUSPEND_GAMES: "Suspend Games", ms.ModActionType_RESET_RATINGS: "Reset Ratings", ms.ModActionType_RESET_STATS: "Reset Statistics", ms.ModActionType_RESET_STATS_AND_RATINGS: "Reset Ratings and Statistics", }
View Source
var ModActionTextMap = map[ms.ModActionType]string{ ms.ModActionType_MUTE: "chatting", ms.ModActionType_SUSPEND_ACCOUNT: "logging in", ms.ModActionType_SUSPEND_RATED_GAMES: "playing rated games", ms.ModActionType_SUSPEND_GAMES: "playing games", }
View Source
var NotorietyDecrement int = 1
View Source
var NotorietyThreshold int = 10
var InsurmountablePerTurnScore int = 70
View Source
var RemovalDuration = 60
View Source
var SandbaggingThreshold int = 3
View Source
var UnreasonableTime int = 5 * 60
Functions ¶
func ActionExists ¶
func ApplyActions ¶
func CensorHistory ¶
func CensorHistory(ctx context.Context, us user.Store, hist *macondopb.GameHistory) *macondopb.GameHistory
func FormatNotorietyReport ¶
func FormatNotorietyReport(ns NotorietyStore, uuid string, limit int) (string, error)
func GetActionHistory ¶
func GetActions ¶
func GetNotorietyReport ¶
func RemoveActions ¶
func ResetNotoriety ¶
Types ¶
type ModService ¶
type ModService struct {
// contains filtered or unexported fields
}
func NewModService ¶
func NewModService(us user.Store, cs user.ChatStore) *ModService
func (*ModService) ApplyActions ¶
func (ms *ModService) ApplyActions(ctx context.Context, req *pb.ModActionsList) (*pb.ModActionResponse, error)
func (*ModService) GetActionHistory ¶
func (ms *ModService) GetActionHistory(ctx context.Context, req *pb.GetActionsRequest) (*pb.ModActionsList, error)
func (*ModService) GetActions ¶
func (ms *ModService) GetActions(ctx context.Context, req *pb.GetActionsRequest) (*pb.ModActionsMap, error)
func (*ModService) GetNotorietyReport ¶
func (ms *ModService) GetNotorietyReport(ctx context.Context, req *pb.GetNotorietyReportRequest) (*pb.NotorietyReport, error)
func (*ModService) RemoveActions ¶
func (ms *ModService) RemoveActions(ctx context.Context, req *pb.ModActionsList) (*pb.ModActionResponse, error)
func (*ModService) ResetNotoriety ¶
func (ms *ModService) ResetNotoriety(ctx context.Context, req *pb.ResetNotorietyRequest) (*pb.ResetNotorietyResponse, error)
Click to show internal directories.
Click to hide internal directories.