Fix for mrelay, and blobs. (Spotted by Luckycharmmz/VA - ty for the fixing assistance!)
Orgmembers will nolonger get invited into the priv channel of their orgbot.. (on reboot only) Added Nickname to !history (only useful for !history char_id>)
This commit is contained in:
+1
-1
@@ -42,7 +42,7 @@ class IgnCore:
|
||||
self.last_timer_event = 0
|
||||
self.start_time = int(time.time())
|
||||
self.major_version = "IGNCore v2.6"
|
||||
self.minor_version = "5"
|
||||
self.minor_version = "6"
|
||||
self.incoming_queue = FifoQueue()
|
||||
self.mass_message_queue = None
|
||||
self.conns = DictObject()
|
||||
|
||||
@@ -641,7 +641,7 @@ class DiscordController:
|
||||
self.setting_service.set_value(out, msg.channel.id)
|
||||
self.send_message(msg.channel.id, Embed(color=3066993, title="Channel Guard",
|
||||
description=f"This channel has been "
|
||||
f"subscriped to the source {out}."))
|
||||
f"subscribed to the source {out}."))
|
||||
|
||||
def send_message(self, channel: int, message, delete=0):
|
||||
if self.client.is_ready():
|
||||
|
||||
@@ -83,8 +83,10 @@ class PrivateChannelController:
|
||||
if data.packet.char_id not in self.reinvite:
|
||||
account = data.account
|
||||
if account.disabled == 1:
|
||||
pass
|
||||
elif account.auto_invite == 1:
|
||||
return
|
||||
if account.member == self.bot.public_channel_service.org_id:
|
||||
return
|
||||
if account.auto_invite == 1:
|
||||
self.reinvite.append(data.packet.char_id)
|
||||
return
|
||||
if self.private_channel_service.in_private_channel(data.packet.char_id):
|
||||
|
||||
@@ -333,6 +333,7 @@ class AllianceRelay:
|
||||
self.logger.warning("##FIX ME## No relay command set!")
|
||||
if message[:len(rcmd)] != rcmd:
|
||||
return
|
||||
message = message.replace("\n", "<br>")
|
||||
message = re.match(f"{rcmd} \[(.+?)\] (.+?): (.+)", message)
|
||||
if not message:
|
||||
return
|
||||
|
||||
@@ -190,22 +190,30 @@ class OrgRosterController:
|
||||
@event(PublicChannelService.ORG_MSG_EVENT, "Update org roster when characters join or leave", is_hidden=True)
|
||||
def org_msg_event(self, _, event_data):
|
||||
ext_msg = event_data.extended_message
|
||||
log = False
|
||||
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)
|
||||
elif [ext_msg.category_id, ext_msg.instance_id] == self.KICKED_FROM_ORG:
|
||||
log = True
|
||||
self.process_org_msg(ext_msg.params[1], self.MODE_REM_MANUAL, ext_msg.params[0])
|
||||
elif [ext_msg.category_id, ext_msg.instance_id] == self.INVITED_TO_ORG:
|
||||
log = True
|
||||
self.process_org_msg(ext_msg.params[1], self.MODE_ADD_MANUAL, ext_msg.params[0])
|
||||
elif [ext_msg.category_id, ext_msg.instance_id] == self.KICKED_INACTIVE_FROM_ORG:
|
||||
log = True
|
||||
self.process_org_msg(ext_msg.params[1], self.MODE_REM_MANUAL, ext_msg.params[0])
|
||||
elif [ext_msg.category_id, ext_msg.instance_id] == self.KICKED_ALIGNMENT_CHANGED:
|
||||
log = True
|
||||
self.process_org_msg(ext_msg.params[0], self.MODE_REM_MANUAL)
|
||||
elif [ext_msg.category_id, ext_msg.instance_id] == self.JOINED_ORG:
|
||||
log = True
|
||||
self.process_org_msg(ext_msg.params[0], self.MODE_ADD_MANUAL)
|
||||
# This just writes everything to the log.... also tower messages, and so on. mainly for debugging reasons,
|
||||
# may change in the future.
|
||||
# noinspection SqlInsertValues
|
||||
self.db.exec("INSERT INTO org_activity (message, time) VALUES(?, ?)", [ext_msg.get_message(), time.time()])
|
||||
if log:
|
||||
self.db.exec("INSERT INTO org_activity (message, time) VALUES(?, ?)", [ext_msg.get_message(), time.time()])
|
||||
|
||||
def process_org_msg(self, char_name, new_mode, actee=None):
|
||||
char_id = self.character_service.resolve_char_to_id(char_name)
|
||||
|
||||
@@ -191,9 +191,10 @@ class TowerAttackController:
|
||||
self.tower.format_site_info(row))
|
||||
attacker = self.text.format_char_info(event_data.attacker)
|
||||
add = ""
|
||||
if account := self.account_service.get_account(event_data.attacker.char_id):
|
||||
if self.account_service.simple_checks(account):
|
||||
add = " :: <red>He's a <myname> Raider!</red>"
|
||||
# Disable for now...
|
||||
# if account := self.account_service.get_account(event_data.attacker.char_id) and event_data.defender.org_name in self.account_service.get_org_names():
|
||||
# if self.account_service.simple_checks(account):
|
||||
# add = " :: <red>He's a <myname> Raider!</red>"
|
||||
self.bot.send_private_channel_message(
|
||||
f"[<cyan>NW</cyan>] "
|
||||
f"<{event_data.defender.faction.lower()}>"
|
||||
|
||||
@@ -168,7 +168,7 @@ class PollController:
|
||||
"ORDER BY finished_at, id", [event_data.account.char_id])
|
||||
if data:
|
||||
row = data[0]
|
||||
self.bot.send_private_message(event_data.char_info.char_id, self.show_poll_details_blob(row))
|
||||
self.bot.send_private_message(event_data.packet.char_id, self.show_poll_details_blob(row))
|
||||
|
||||
def create_scheduled_jobs_for_polls(self):
|
||||
data = self.db.query("SELECT * FROM poll WHERE is_finished != 1")
|
||||
|
||||
@@ -36,7 +36,7 @@ class CharacterHistoryController:
|
||||
else:
|
||||
return f"Could not find history for <highlight>{char.name}</highlight> " \
|
||||
f"on server <highlight>{server_num}</highlight>."
|
||||
blob = " | ".join(["Date", "Lvl", "AI", "Side", "Breed", "CharId", "Guild (Rank)"]) + "\n"
|
||||
blob = " | ".join(["Date", "Lvl", "AI", "Side", "Breed", "CharId", "Name", "Guild (Rank)"]) + "\n"
|
||||
blob += "__________________________________________________________\n"
|
||||
return self.text.format_pagination(data, offset, page, self.formatter,
|
||||
f'History of {char.name} (RK{server_num})',
|
||||
@@ -54,5 +54,5 @@ class CharacterHistoryController:
|
||||
return "<red>DELETED</red>\n"
|
||||
return f"{last_changed} | <white>{self.text.zfill(int(row.level), 220)}</white> | " \
|
||||
f"<green>{self.text.zfill(int(row.defender_rank or 0), 30)}</green> | {row.faction:^7} | " \
|
||||
f"{row.breed:^10} | {self.text.zfill(int(row.char_id or 0), int(data[0].char_id or 0))} | " \
|
||||
f"{row.breed:^10} | {self.text.zfill(int(row.char_id or 0), int(data[0].char_id or 0))} | {row.nickname:^13} | " \
|
||||
f"<white>{org}</white>\n"
|
||||
|
||||
Reference in New Issue
Block a user