mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Merge pull request #3324 from volundmush/signal_refactor
SIGNAL_ACCOUNT_POST_LOGIN_FAIL is now properly used. Added a CUSTOM_S…
This commit is contained in:
commit
1f25987cd6
2 changed files with 11 additions and 0 deletions
|
|
@ -33,6 +33,7 @@ from evennia.server.signals import (
|
|||
SIGNAL_ACCOUNT_POST_CREATE,
|
||||
SIGNAL_OBJECT_POST_PUPPET,
|
||||
SIGNAL_OBJECT_POST_UNPUPPET,
|
||||
SIGNAL_ACCOUNT_POST_LOGIN_FAIL,
|
||||
)
|
||||
from evennia.server.throttle import Throttle
|
||||
from evennia.typeclasses.attributes import ModelAttributeBackend, NickHandler
|
||||
|
|
@ -676,6 +677,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
|
|||
if session:
|
||||
account = AccountDB.objects.get_account_from_name(username)
|
||||
if account:
|
||||
SIGNAL_ACCOUNT_POST_LOGIN_FAIL.send(sender=account, session=session)
|
||||
account.at_failed_login(session)
|
||||
|
||||
return None, errors
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ without necessitating a full takeover of hooks that may be in high demand.
|
|||
|
||||
"""
|
||||
from django.dispatch import Signal
|
||||
from collections import defaultdict
|
||||
|
||||
# The sender is the created Account. This is triggered at the very end of
|
||||
# Account.create() after the Account is created. Note that this will *not* fire
|
||||
|
|
@ -91,6 +92,14 @@ SIGNAL_CHANNEL_POST_CREATE = Signal()
|
|||
# Called just after at_traverse hook.
|
||||
SIGNAL_EXIT_TRAVERSED = Signal()
|
||||
|
||||
# Used as a generic event emitter. Use to make your own signals easily in one place!
|
||||
# To use it, import SIGNALS_CUSTOM and use it like a dictionary of Signal objects.
|
||||
# Example:
|
||||
# from evennia.utils.signals import SIGNALS_CUSTOM
|
||||
# SIGNALS_CUSTOM['my_signal'].connect(my_callback)
|
||||
# SIGNALS_CUSTOM['my_signal'].send(sender, **kwargs)
|
||||
SIGNALS_CUSTOM: dict[str, Signal] = defaultdict(Signal)
|
||||
|
||||
# Django default signals (https://docs.djangoproject.com/en/4.1/topics/signals/)
|
||||
|
||||
from django.core.signals import request_finished # " ends.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue