Go to file
2023-02-14 11:22:44 -08:00
textures Add warning formspec on first violation 2018-02-05 23:03:19 -08:00
.gitignore Add kick above certain number of violations (#2) 2018-02-02 09:07:41 -08:00
.luacheckrc Fix conflict with chat commands 2018-02-05 23:03:19 -08:00
init.lua Update a local. 2023-02-14 11:22:44 -08:00
LICENSE Add warning formspec on first violation 2018-02-05 23:03:19 -08:00
mod.conf Add desc. and depends to mod.conf 2018-06-29 23:23:52 -07:00
readme.md Add on_violation callback 2018-02-05 23:03:19 -08:00
screenshot.png Add screenshot. 2018-05-28 17:49:30 -07:00

filter mod

This mod adds a simple chat filter. There is no default word list, and adding words to the filter list is done through the /filter chat command. You need the server priv to use the chat command.

The /filter chat command can add, remove or list words. The words are stored in mod_storage, which means that this mod requires 0.4.16 or above to function.

If a player speaks a word that is listed in the filter list, they are muted for 1 minute. After that, their shout privilege is restored. If they leave, their shout privilege is still restored, but only after the time expires, not before.

API

Callbacks

  • filter.register_on_violation(func(name, message, violations))
    • Violations is the value of the player's violation counter - which is incremented on a violation, and halved every 10 minutes.
    • Return true if you've handled the violation. No more callbacks will be executation, and the default behaviour (warning/mute/kick) on violation will be skipped.

Methods

  • filter.import_file(path)
    • Input bad words from a file (path) where each line is a new word.
  • filter.check_message(name, message)
    • Checks message for violation. Returns true if okay, false if bad. If it returns false, you should cancel the sending of the message and call filter.on_violation()
  • filter.on_violation(name, message)
    • Increments violation count, runs callbacks, and punishes the players.
  • filter.mute(name, duration)
  • filter.show_warning_formspec(name)