fenn.notification

class fenn.notification.Notifier[source]

Bases: object

Central notification manager that handles multiple notification services.

__init__()[source]

Initialize the notifier with an empty list of services.

add_service(service)[source]

Add a notification service.

Parameters:

service (Type[Service]) – A service implementing the Service interface.

Return type:

None

add_services(services)[source]

Add a list of notification services.

Example

app.register_notification_services([Discord, Telegram])

Parameters:

services (Iterable[Type[Service]])

Return type:

None

clear_services()[source]

Remove all registered services.

Return type:

None

get_services()[source]

Get list of registered service names.

Returns:

List of service class names.

Return type:

List[str]

notify(message)[source]

Send notification to all registered services.

Parameters:

message (str) – The message to send.

Return type:

None

remove_service(service)[source]

Remove a notification service.

Parameters:

service (Type[Service]) – The service to remove.

Raises:

ValueError – If the service is not found.

Return type:

None

class fenn.notification.Service[source]

Bases: ABC

Abstract base class for notification services.

abstractmethod send_notification(message)[source]

Send a notification message.

Parameters:

message (str) – The message to send.

Raises:

Exception – If the notification fails to send.

Return type:

None