Fix spam checker modules documentation example (#9580)
Mention that parse_config must exist and note the check_media_file_for_spam method.
This commit is contained in:
parent
2a99cc6524
commit
17cd48fe51
|
@ -0,0 +1 @@
|
||||||
|
Clarify the spam checker modules documentation example to mention that `parse_config` is a required method.
|
|
@ -14,6 +14,7 @@ The Python class is instantiated with two objects:
|
||||||
* An instance of `synapse.module_api.ModuleApi`.
|
* An instance of `synapse.module_api.ModuleApi`.
|
||||||
|
|
||||||
It then implements methods which return a boolean to alter behavior in Synapse.
|
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
|
There's a generic method for checking every event (`check_event_for_spam`), as
|
||||||
well as some specific methods:
|
well as some specific methods:
|
||||||
|
@ -24,6 +25,7 @@ well as some specific methods:
|
||||||
* `user_may_publish_room`
|
* `user_may_publish_room`
|
||||||
* `check_username_for_spam`
|
* `check_username_for_spam`
|
||||||
* `check_registration_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)
|
The details of each of these methods (as well as their inputs and outputs)
|
||||||
are documented in the `synapse.events.spamcheck.SpamChecker` class.
|
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
|
The `ModuleApi` class provides a way for the custom spam checker class to
|
||||||
call back into the homeserver internals.
|
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
|
### Example
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -41,6 +47,10 @@ class ExampleSpamChecker:
|
||||||
self.config = config
|
self.config = config
|
||||||
self.api = api
|
self.api = api
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse_config(config):
|
||||||
|
return config
|
||||||
|
|
||||||
async def check_event_for_spam(self, foo):
|
async def check_event_for_spam(self, foo):
|
||||||
return False # allow all events
|
return False # allow all events
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue