mirror of
https://github.com/evennia/evennia.git
synced 2026-04-05 07:27:17 +02:00
Merged. Still need to update some migrations.
This commit is contained in:
commit
c676c9965f
29 changed files with 821 additions and 401 deletions
|
|
@ -553,7 +553,7 @@ class Channel(SharedMemoryModel):
|
|||
# do the check
|
||||
return PlayerChannelConnection.objects.has_player_connection(player, self)
|
||||
|
||||
def msg(self, msgobj, header=None, senders=None, persistent=True):
|
||||
def msg(self, msgobj, header=None, senders=None, persistent=True, online=False):
|
||||
"""
|
||||
Send the given message to all players connected to channel. Note that
|
||||
no permission-checking is done here; it is assumed to have been
|
||||
|
|
@ -566,7 +566,8 @@ class Channel(SharedMemoryModel):
|
|||
persistent=False.
|
||||
persistent (bool) - ignored if msgobj is a Msg or TempMsg. If True, a Msg will be created, using
|
||||
header and senders keywords. If False, other keywords will be ignored.
|
||||
|
||||
online (bool) - If this is set true, only messages people who are online. Otherwise, messages all players
|
||||
connected. This can make things faster, but may not trigger listeners on players that are offline.
|
||||
"""
|
||||
|
||||
if isinstance(msgobj, basestring):
|
||||
|
|
@ -588,7 +589,7 @@ class Channel(SharedMemoryModel):
|
|||
msg = msgobj.message
|
||||
|
||||
# get all players connected to this channel and send to them
|
||||
for conn in Channel.objects.get_all_connections(self):
|
||||
for conn in Channel.objects.get_all_connections(self, online=online):
|
||||
try:
|
||||
conn.player.msg(msg, senders)
|
||||
except AttributeError:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue