Maintenance for the week of December 16:
• PC/Mac: No maintenance – December 16
• NA megaservers for patch maintenance – December 17, 4:00AM EST (9:00 UTC) - 12:00PM EST (17:00 UTC)
• EU megaservers for patch maintenance – December 17, 9:00 UTC (4:00AM EST) - 17:00 UTC (12:00PM EST)

Check against the profanity filter? ESO LUA

Lakashi
Lakashi
✭✭✭
Is there something in the API that I can use to check if a message would be filtered by the profanity filter, or whether that filter is enabled? Either compare a string to one sent through the filter, or an API call to test if that string would be flagged? Thanks!

NOTE: PLEASE do not turn this question into a discussion of the effectiveness of the filter itself.
  • Reverb
    Reverb
    ✭✭✭✭✭
    ✭✭✭✭✭
    Are you trying to figure out if your own profanity filter would censor a comment you want to type, or if your comment you'd been censored to other players with the nanny setting on?

    Either way, you could type it in a whisper to yourself, and see if if gets filtered.
    Battle not with monsters, lest ye become a monster, and if you gaze into the abyss, the abyss gazes also into you. ~Friedrich Nietzsche
  • DoctorESO
    DoctorESO
    ✭✭✭✭✭
    ✭✭
    Lakashi wrote: »
    Is there something in the API that I can use to check if a message would be filtered by the profanity filter, or whether that filter is enabled? Either compare a string to one sent through the filter, or an API call to test if that string would be flagged? Thanks!

    NOTE: PLEASE do not turn this question into a discussion of the effectiveness of the filter itself.

    What are you trying to do ultimately?
  • Reorx_Holybeard
    Reorx_Holybeard
    ✭✭✭✭✭
    Some code snippets from the game code that may be useful:
    CALLBACK_MANAGER:RegisterCallback("ProfanityFilter_Off", OnProfanityFilterChange)
    CALLBACK_MANAGER:RegisterCallback("ProfanityFilter_On", OnProfanityFilterChange)
    
    function GuildHomeManager:OnProfanityFilterChanged()
        self:RefreshMotD()
        self:RefreshDescription()
    end
    
    self.data = KEYBOARD_OPTIONS:GetSettingsData(SETTING_PANEL_SOCIAL, SETTING_TYPE_LANGUAGE, LANGUAGE_SETTING_USE_PROFANITY_FILTER)
    
    profanityData = ZO_SharedOptions_SettingsData[SETTING_PANEL_SOCIAL][SETTING_TYPE_LANGUAGE][LANGUAGE_SETTING_USE_PROFANITY_FILTER]
    
    profanity = GetSetting(SETTING_TYPE_LANGUAGE, LANGUAGE_SETTING_USE_PROFANITY_FILTER)   -- Returns 0 or 1
    profanity = GetSetting_Bool(SETTING_TYPE_LANGUAGE, LANGUAGE_SETTING_USE_PROFANITY_FILTER)
    

    This still leaves the problem of seeing if a string would be filtered if the profanity setting is on. From the looks of it the filter is internal to the game itself and isn't accessible other than the basic setting data itself. It does look like it works on a control's "SetText()" function unfortunately I don't think there's a way to get the text out from a control (perhaps an input box?).
    Reorx Holybeard -- NA/PC
    Founder/Admin of www.uesp.net -- UESP ESO Guilds
    Creator of the "Best" ESO Build Editor
    I'm on a quest to build the world's toughest USB drive!
  • Lakashi
    Lakashi
    ✭✭✭
    I am making a custom Ready Check addon that works with 100023. However, it is not checked against the filter. I want to build something in to prevent either the message being shown, or sent, if the filter is on. I don't personally play with it on, but I want to ensure that those who do aren't taken advantage of with my addon.
  • DoctorESO
    DoctorESO
    ✭✭✭✭✭
    ✭✭
    Lakashi wrote: »
    I am making a custom Ready Check addon that works with 100023. However, it is not checked against the filter. I want to build something in to prevent either the message being shown, or sent, if the filter is on. I don't personally play with it on, but I want to ensure that those who do aren't taken advantage of with my addon.

    Oh, I see. I thought you had something more sinister in mind! :D
  • Dolgubon
    Dolgubon
    ✭✭✭✭
    There is definitely a way together get text from a control: control:GetText(). Whether that shows he *** or not I don't know. You could try to figure out the rules yourself. E.g. make a few nested loops, try all leetter combinations and see what is censored.
    Relthion: CP810 DK Tank - vMOL HM, vHOF HM, vAS HM, vCR +2
    Malorson: CP810 Mag Sorc - vMOL HM, vHOF, vAS HM

    Addons:
    Dolgubon's Lazy Writ Crafter
    Dolgubon's Lazy Set Crafter
Sign In or Register to comment.