Added !orglist cancel

fix for !whois <char_id>
added logging for invalid ORG_MSG_EVENT's
This commit is contained in:
2022-05-09 19:47:26 +02:00
parent 3cade228fe
commit 43918066a9
8 changed files with 107 additions and 42 deletions
+19 -7
View File
@@ -1,10 +1,10 @@
import json
import time
import typing
import requests
from core.aochat import server_packets
from core.buddy_service import BuddyService
from core.cache_service import CacheService
from core.chat_blob import ChatBlob
from core.command_param_types import Int
@@ -14,12 +14,15 @@ from core.dict_object import DictObject
from core.event_service import EventService
from core.igncore import IgnCore
from core.logger import Logger
from core.lookup.character_service import CharacterService
from core.lookup.org_pork_service import OrgPorkService
from core.lookup.pork_service import PorkService
from core.public_channel_service import PublicChannelService
from core.util import Util
from modules.core.accounting.services.account_service import AccountService
from core.public_channel_service import PublicChannelService
if typing.TYPE_CHECKING:
from modules.core.accounting.services.account_service import AccountService
from core.lookup.character_service import CharacterService
from core.lookup.org_pork_service import OrgPorkService
from core.lookup.pork_service import PorkService
from core.buddy_service import BuddyService
@instance()
@@ -129,6 +132,11 @@ class OrgRosterController:
@timerevent("24h", "Update the orgroster on changes")
def update_roster(self, _, _1):
self.bot.send_org_message("Updating roster...")
handlers = self.event_service.get_handlers("connect", "")
conn = False
for x in handlers:
if "orgbot" in x.handler and "connect" in x.handler:
conn = True
cache = self.cache.retrieve('org_roster', f"{self.public_channel_service.org_id}.5.json")
if cache:
if cache.last_modified < time.time() - 16 * 60 * 60:
@@ -159,7 +167,8 @@ class OrgRosterController:
if buddy := self.buddy_service.get_buddy(char_info['CHAR_INSTANCE']):
if "org_member" in buddy['types']:
continue
self.buddy_service.add_buddy(char_info['CHAR_INSTANCE'], "org_member")
if conn:
self.buddy_service.add_buddy(char_info['CHAR_INSTANCE'], "org_member")
with self.db.lock:
with self.db.pool.get_connection() as conn:
@@ -192,6 +201,9 @@ class OrgRosterController:
def org_msg_event(self, _, event_data):
ext_msg = event_data.extended_message
log = False
if not ext_msg:
self.logger.error(f"--UKN-- {_} -- {event_data}")
return
if [ext_msg.category_id, ext_msg.instance_id] == self.LEFT_ORG:
log = True
self.process_org_msg(ext_msg.params[0], self.MODE_REM_MANUAL, ext_msg)