diff options
author | Jason Robinson <jasonr@matrix.org> | 2021-03-10 17:42:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-10 10:42:51 -0500 |
commit | 17cd48fe5171d50da4cb59db647b993168e7dfab (patch) | |
tree | 580b16687561b9c702390d1b701dbce9aecd210a | |
parent | Use the chain cover index in get_auth_chain_ids. (#9576) (diff) | |
download | synapse-17cd48fe5171d50da4cb59db647b993168e7dfab.tar.xz |
Fix spam checker modules documentation example (#9580)
Mention that parse_config must exist and note the check_media_file_for_spam method.
Diffstat (limited to '')
-rw-r--r-- | changelog.d/9580.doc | 1 | ||||
-rw-r--r-- | docs/spam_checker.md | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/changelog.d/9580.doc b/changelog.d/9580.doc new file mode 100644 index 0000000000..f9c8b328b3 --- /dev/null +++ b/changelog.d/9580.doc @@ -0,0 +1 @@ +Clarify the spam checker modules documentation example to mention that `parse_config` is a required method. diff --git a/docs/spam_checker.md b/docs/spam_checker.md index e615ac9910..2020eb9006 100644 --- a/docs/spam_checker.md +++ b/docs/spam_checker.md @@ -14,6 +14,7 @@ The Python class is instantiated with two objects: * An instance of `synapse.module_api.ModuleApi`. It then implements methods which return a boolean to alter behavior in Synapse. +All the methods must be defined. There's a generic method for checking every event (`check_event_for_spam`), as well as some specific methods: @@ -24,6 +25,7 @@ well as some specific methods: * `user_may_publish_room` * `check_username_for_spam` * `check_registration_for_spam` +* `check_media_file_for_spam` The details of each of these methods (as well as their inputs and outputs) are documented in the `synapse.events.spamcheck.SpamChecker` class. @@ -31,6 +33,10 @@ are documented in the `synapse.events.spamcheck.SpamChecker` class. The `ModuleApi` class provides a way for the custom spam checker class to call back into the homeserver internals. +Additionally, a `parse_config` method is mandatory and receives the plugin config +dictionary. After parsing, It must return an object which will be +passed to `__init__` later. + ### Example ```python @@ -41,6 +47,10 @@ class ExampleSpamChecker: self.config = config self.api = api + @staticmethod + def parse_config(config): + return config + async def check_event_for_spam(self, foo): return False # allow all events |