212 lines
5.8 KiB
YAML
212 lines
5.8 KiB
YAML
# This file defines the filters that NoSoliciting will use for
|
||
# built-in filters.
|
||
|
||
# The version should be incremented for each commit including changes
|
||
# to this file.
|
||
|
||
# There are three main sections: chat, party_finder, and global. The
|
||
# chat and party_finder sections are for their respective areas (the
|
||
# chat log and the Party Finder window), and the global section
|
||
# applies to both.
|
||
|
||
# Each subsection is a separate built-in filter that can be toggled on
|
||
# and off. The option shown in the UI is defined in the
|
||
# subsection. For global subsections, {} can be inserted into the
|
||
# option name to substitute either "chat" or "Party Finder" as
|
||
# appropriate.
|
||
|
||
# Subsections can have ignore_case (defaults to false) and normalise
|
||
# (defaults to true) set. ignore_case will ignore casing for matching
|
||
# against the matchers, and normalise will normalise text prior to
|
||
# matching. Text normalisation consists of turning FFXIV-specific
|
||
# unicode symbols into normal ASCII characters and running a NFKD
|
||
# unicode decomposition on the result.
|
||
|
||
# Subsections also may filter based on channels with the channels key.
|
||
# A list of channels may be specified, and the message will be ignored
|
||
# if not in one of the specified channels. For the Party Finder, the
|
||
# channel is always None. An empty list (or missing channels key) will
|
||
# ignore the channel.
|
||
|
||
# Each subsection may specify whether it is enabled by default with the
|
||
# default key. This should be used sparingly. This defaults to false.
|
||
|
||
# The real meat of the file is the matchers. There are two types of
|
||
# matchers: required and likely. Both types have categories of strings
|
||
# or regular expressions that should match. For required matchers, at
|
||
# least one string or regex should match in *all* categories. For
|
||
# likely matchers, at least one string or regex should match in the
|
||
# value of likelihood_threshold (or greater) categories.
|
||
|
||
# If both required and likely matchers are specified, they both must
|
||
# match. This means that all the categories of the required matchers
|
||
# must find a match, *and* that at least likelihood_threshold matchers
|
||
# must find a match in likely_matchers.
|
||
|
||
# Substring matchers are faster than regular expressions and are
|
||
# specified just by using a string. Regular expression matchers are
|
||
# slower but more flexible, and they are specified by using a regex
|
||
# key, as can be seen below.
|
||
|
||
version: 6
|
||
|
||
chat:
|
||
rmt:
|
||
option:
|
||
basic: Filter RMT from chat
|
||
advanced: Enable built-in chat RMT filter
|
||
default: true
|
||
required_matchers:
|
||
- - "4KGOLD"
|
||
- "We have sufficient stock"
|
||
- "PVPBANK.COM"
|
||
- "Gil for free"
|
||
- "www.so9.com"
|
||
- "Fast & Convenient"
|
||
- "Cheap & Safety Guarantee"
|
||
- "【Code|A O A U E"
|
||
- "igfans"
|
||
- "4KGOLD.COM"
|
||
- "Cheapest Gil with"
|
||
- "pvp and bank on google"
|
||
- "Selling Cheap GIL"
|
||
- "ff14mogstation.com"
|
||
- "Cheap Gil 1000k"
|
||
- "gilsforyou"
|
||
- "server 1000K ="
|
||
- "gils_selling"
|
||
- "E A S Y.C O M"
|
||
- "bonus code"
|
||
- "mins delivery guarantee"
|
||
- "Sell cheap"
|
||
- "Salegm.com"
|
||
- "cheap Mog"
|
||
- "Off Code"
|
||
- "FF14Mog.com"
|
||
- "使用する5%オ"
|
||
- "offers Fantasia"
|
||
- "finalfantasyxiv.com-se.ru" # phishing
|
||
free_company:
|
||
option:
|
||
basic: Filter FC recruitments from chat
|
||
advanced: Enable built-in chat FC recruitment filter
|
||
ignore_case: true
|
||
channels:
|
||
- shout
|
||
- yell
|
||
likelihood_threshold: 3
|
||
likely_matchers:
|
||
# mentions free company
|
||
- - fc
|
||
- free company
|
||
# contains a call to action
|
||
- - join
|
||
- apply
|
||
- /tell
|
||
- /t
|
||
- dm
|
||
- whisper
|
||
# mentions benefits
|
||
- - discord
|
||
- map
|
||
- rank
|
||
- active
|
||
- weekly
|
||
- social
|
||
- friendly
|
||
- buff
|
||
- event
|
||
- house
|
||
- level
|
||
- raid
|
||
- hunt
|
||
# has common keywords
|
||
- - family
|
||
- friend
|
||
- community
|
||
- veteran
|
||
- seasoned
|
||
- casual
|
||
- new
|
||
- help
|
||
- recruit
|
||
|
||
party_finder:
|
||
rmt:
|
||
option:
|
||
basic: Filter RMT from Party Finder
|
||
advanced: Enable built-in Party Finder RMT filter
|
||
default: true
|
||
ignore_case: true
|
||
required_matchers:
|
||
# discord or join/contact
|
||
- - regex: '.#\d{4}'
|
||
- regex: 'discord\.(gg|io)/\w+'
|
||
- join
|
||
- /tell
|
||
- whisper
|
||
- dm
|
||
# content
|
||
- - eden
|
||
- savage
|
||
- primal
|
||
- ultimate
|
||
- ex
|
||
# selling
|
||
- - sell
|
||
- $ell
|
||
- sale
|
||
- price
|
||
- cheap
|
||
|
||
global:
|
||
roleplay:
|
||
option:
|
||
basic: 'Filter RP advertisements from {}'
|
||
advanced: 'Enable built-in {} RP filter'
|
||
ignore_case: true
|
||
required_matchers:
|
||
- - regex: 'w(ard)?\s*\d+[\s/,]*(p(lot)?|a(pt\.?|partment)?)\s*\d+'
|
||
likelihood_threshold: 1
|
||
likely_matchers:
|
||
# mentions roleplaying or fairly rp-only keywords
|
||
- - rp
|
||
- roleplay
|
||
- role play
|
||
- sfw # also catches nsfw
|
||
- '18+'
|
||
- '18 +'
|
||
- open
|
||
# has venue type
|
||
- - cafe
|
||
- bar
|
||
- lounge
|
||
- brothel
|
||
- casino
|
||
- venue
|
||
- restaurant
|
||
- library
|
||
- bookstore
|
||
- book store
|
||
# mentions services/activities
|
||
- - entertainment
|
||
- live
|
||
- raffle
|
||
- menu
|
||
- atmosphere
|
||
- drink
|
||
- food
|
||
- eat
|
||
- dance
|
||
- dancing
|
||
- music
|
||
- contest
|
||
- giveaway
|
||
- party
|
||
# mentions a housing zone
|
||
- - gob # catches goblet, as well
|
||
- mist
|
||
- lb
|
||
- lav # catches lavender/lavender beds, as well
|
||
- shiro # catches shirogane, as well
|