Fixed:
-> !wants -> !orgs info -> special cmd's -> !assist -> "afk" for players without active account -> !loot add <item_ref> <count> => nolonger breaks !account Changes: -> grouped !tara, !gaunt, .. into !wb -> Display the most recent news entry on logon (default: enabled) -> improved grouping of !items -> Added the option to authentificate WS connections (Datanet module). This is used in special cases, where the Websocket Server requires the clien tto authentificate itself. (Server sends "#auth", client responds with the auth string) -> Add main name to relaying (priv <-> org) [default: disabled] -> Added logon/logoff messages back -> restricted default access to "dangerous" commands to moderator -> Added optional logging (Private Channel, Org Channel, Tells, ... disabled by default) Rewrite of the Tower Module. -> More verbosity, if enabled in config. by default, GAS and Hot timer only. -> !hot displays currently hot (and in penalty) sites, and these which go hot in < 60 minutes -> !attacks filterable by PF and Site -> display current contract QL's grouped by org: !contracts (requires managed cache)
This commit is contained in:
@@ -10,13 +10,13 @@ from core.db import DB
|
||||
from core.decorators import instance, event, command
|
||||
from core.dict_object import DictObject
|
||||
from core.fifo_queue import FifoQueue
|
||||
from core.igncore import IgnCore
|
||||
from core.logger import Logger
|
||||
from core.lookup.character_service import CharacterService
|
||||
from core.private_channel_service import PrivateChannelService
|
||||
from core.public_channel_service import PublicChannelService
|
||||
from core.setting_service import SettingService
|
||||
from core.text import Text
|
||||
from core.igncore import IgnCore
|
||||
from core.util import Util
|
||||
from modules.core.accounting.services.account_service import AccountService
|
||||
from modules.standard.online.online_display import OnlineDisplay
|
||||
@@ -163,6 +163,8 @@ class OnlineController:
|
||||
alts = self.account_service.get_alts(char_id)
|
||||
for alt in alts:
|
||||
self.afk_list[alt.char_id] = DictObject({"message": message, "time": time.time()})
|
||||
# Dirty fix for players without account
|
||||
self.afk_list[char_id] = DictObject({"message": message, "time": time.time()})
|
||||
elif char_id in self.afk_list.keys():
|
||||
# TODO handle multiple rows
|
||||
|
||||
@@ -173,7 +175,8 @@ class OnlineController:
|
||||
if data:
|
||||
continue
|
||||
data = out
|
||||
if not alts:
|
||||
data = self.afk_list.pop(char_id)
|
||||
char_name = self.character_service.resolve_char_to_name(char_id)
|
||||
time_string = self.util.time_to_readable(int(time.time()) - data.time)
|
||||
channel_reply(f"<highlight>{char_name}</highlight> is back after {time_string}.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user