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:
@@ -94,7 +94,8 @@ class AccountController:
|
||||
# 0 is member,
|
||||
# any number above 0 indicates that its an org_member of the same ID)
|
||||
self.account_service.account_add_member(user.char_id)
|
||||
self.buddy_service.add_buddy(user.char_id, "member")
|
||||
for char in self.account_service.get_alts(user.char_id):
|
||||
self.buddy_service.add_buddy(char.char_id, "member")
|
||||
self.account_service.add_log(request.sender.char_id, "system",
|
||||
f"Opened Account for <highlight>{user.name}</highlight>.",
|
||||
request.sender.char_id)
|
||||
@@ -256,7 +257,7 @@ class AccountController:
|
||||
response += f" Status: {'<green>Open</green>' if alts[0].disabled == 0 else '<red>Closed</red>'}\n"
|
||||
response += f" Created at: <notice>{self.util.format_datetime(alts[0].created)}</notice>\n"
|
||||
if last_seen:
|
||||
response += f" Last seen on <notice>{last_seen.name}</notice> <highlight>{self.util.time_to_readable(time.time()-last_seen.last_seen)}</highlight> ago\n"
|
||||
response += f" Last seen on <notice>{last_seen.name}</notice> <highlight>{self.util.time_to_readable(time.time() - last_seen.last_seen)}</highlight> ago\n"
|
||||
response += f" Permissions: <notice>{', '.join(perms)}</notice>\n"
|
||||
if alts[0].discord_joined == 1:
|
||||
joined = ' (Joined server)'
|
||||
|
||||
@@ -5,13 +5,13 @@ from core.buddy_service import BuddyService
|
||||
from core.db import DB, SqlException
|
||||
from core.decorators import instance, timerevent, event
|
||||
from core.dict_object import DictObject
|
||||
from core.igncore import IgnCore
|
||||
from core.logger import Logger
|
||||
from core.lookup.character_service import CharacterService
|
||||
from core.lookup.pork_service import PorkService
|
||||
from core.setting_service import SettingService
|
||||
from core.setting_types import BooleanSettingType
|
||||
from core.text import Text
|
||||
from core.igncore import IgnCore
|
||||
from modules.core.accounting.services.access_service import AccessService
|
||||
|
||||
|
||||
@@ -184,6 +184,14 @@ class AccountService:
|
||||
"where a.char_id=? and a.char_id not in (SELECT char_id from org_bots)",
|
||||
[char_id]) or DictObject({})
|
||||
|
||||
def set_logon(self, char_id, logon="") -> DictObject:
|
||||
return self.db.exec("UPDATE account SET logon=? where char_id=?",
|
||||
[logon, char_id])
|
||||
|
||||
def set_logoff(self, char_id, logoff="") -> DictObject:
|
||||
return self.db.exec("UPDATE account SET logoff=? where char_id=?",
|
||||
[logoff, char_id])
|
||||
|
||||
def add_pending_alt(self, main, alt) -> [str, bool]:
|
||||
data = self.check_alt(alt)
|
||||
if data:
|
||||
|
||||
Reference in New Issue
Block a user