Removed spam-possibilities with page command (issue100). Also did several other refinements to the comm system.
This commit is contained in:
parent
d90c2909a2
commit
142cb00566
7 changed files with 36 additions and 26 deletions
|
|
@ -733,11 +733,14 @@ class CmdPage(MuxCommand):
|
|||
caller = self.caller
|
||||
player = caller.player
|
||||
|
||||
|
||||
# get the last message we sent
|
||||
# get the last messages we sent
|
||||
messages = list(Msg.objects.get_messages_by_sender(player))
|
||||
pages = [msg for msg in messages
|
||||
if msg.receivers]
|
||||
|
||||
print messages
|
||||
print pages
|
||||
|
||||
if pages:
|
||||
lastpage = pages[-1]
|
||||
|
||||
|
|
@ -746,16 +749,17 @@ class CmdPage(MuxCommand):
|
|||
lastpages = messages[-10:]
|
||||
else:
|
||||
lastpages = messages
|
||||
lastpages = "\n ".join(["%s to %s: %s" % (mess.date_sent, mess.receivers.all(),
|
||||
mess.message)
|
||||
for mess in messages])
|
||||
lastpages = "\n ".join(["{w%s{n to {c%s{n: %s" % (page.date_sent,
|
||||
"{n,{c ".join([obj.name for obj in page.receivers]),
|
||||
page.message)
|
||||
for page in pages])
|
||||
caller.msg("Your latest pages:\n %s" % lastpages )
|
||||
return
|
||||
return
|
||||
|
||||
if not self.args or not self.rhs:
|
||||
if pages:
|
||||
string = "You last paged %s." % (", ".join([obj.name
|
||||
for obj in lastpage.receivers.all()]))
|
||||
string = "You last paged {c%s{n." % (", ".join([obj.name
|
||||
for obj in lastpage.receivers]))
|
||||
caller.msg(string)
|
||||
return
|
||||
else:
|
||||
|
|
@ -773,7 +777,7 @@ class CmdPage(MuxCommand):
|
|||
receivers = self.lhslist
|
||||
|
||||
recobjs = []
|
||||
for receiver in receivers:
|
||||
for receiver in set(receivers):
|
||||
pobj = caller.search("*%s" % (receiver.lstrip('*')), global_search=True)
|
||||
if not pobj:
|
||||
return
|
||||
|
|
@ -782,7 +786,7 @@ class CmdPage(MuxCommand):
|
|||
header = "{wPlayer{n {c%s{n {wpages:{n" % caller.key
|
||||
message = self.rhs
|
||||
# create the persistent message object
|
||||
msg = create.create_message(caller, message,
|
||||
msg = create.create_message(player, message,
|
||||
receivers=recobjs)
|
||||
# tell the players they got a message.
|
||||
for pobj in recobjs:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue