Added afk/brb
Timer messages ("Timer XX has yyy left") now get resumed after a bot restart
Alliance relay is discord compatible now. [Orgbot]
This commit is contained in:
@@ -122,18 +122,18 @@ class AccountService:
|
||||
self.event_service.register_event_type(self.MEMBER_LOGON)
|
||||
self.event_service.register_event_type(self.MEMBER_LOGOFF)
|
||||
self.setting_service.register(self.module_name, "is_alliance_bot", False, BooleanSettingType(),
|
||||
"Is this bot used as an alliancebot")
|
||||
"Is this bot used as an alliancebot")
|
||||
self.setting_service.register(self.module_name, "alt_verification", False, BooleanSettingType(),
|
||||
"alts require admin verification")
|
||||
"alts require admin verification")
|
||||
# Default preferences
|
||||
self.setting_service.register(self.module_name, "pref_autoinvite", False, BooleanSettingType(),
|
||||
"Default Value for the auto invite preference")
|
||||
"Default Value for the auto invite preference")
|
||||
self.setting_service.register(self.module_name, "pref_raidinvite", True, BooleanSettingType(),
|
||||
"Default Value for the raid invite (Massinvite) preference")
|
||||
"Default Value for the raid invite (Massinvite) preference")
|
||||
self.setting_service.register(self.module_name, "pref_raidspam", True, BooleanSettingType(),
|
||||
"Default Value for the raid spam (Mass Message) preference")
|
||||
"Default Value for the raid spam (Mass Message) preference")
|
||||
self.setting_service.register(self.module_name, "pref_newsspam", True, BooleanSettingType(),
|
||||
"Default Value for the news spam (News on logon) preference")
|
||||
"Default Value for the news spam (News on logon) preference")
|
||||
v = self.setting_service.get_value("pref_raidspam")
|
||||
|
||||
# Ranks
|
||||
@@ -316,6 +316,7 @@ class AccountService:
|
||||
try:
|
||||
def del_orgs(_):
|
||||
del self.orgs
|
||||
|
||||
self.orgs = [x["org_id"] for x in self.db.query("SELECT * from orgs", [])]
|
||||
self.bot.job_scheduler.delayed_job(del_orgs, 60)
|
||||
return self.orgs
|
||||
@@ -331,6 +332,7 @@ class AccountService:
|
||||
try:
|
||||
def del_orgs(_):
|
||||
del self.org_names
|
||||
|
||||
self.orgs = [x["org_name"] for x in self.db.query("SELECT * from orgs o "
|
||||
"LEFT JOIN all_orgs a on o.org_id = ao.org_id", [])]
|
||||
self.bot.job_scheduler.delayed_job(del_orgs, 60)
|
||||
|
||||
@@ -108,7 +108,7 @@ class DiscordController:
|
||||
|
||||
def pre_start(self):
|
||||
self.setting_service.register(self.module_name, "discord_token", "", HiddenSettingType(allow_empty=True),
|
||||
"Enter your Discord token here")
|
||||
"Enter your Discord token here")
|
||||
|
||||
def get_name(self, discord_id):
|
||||
data = self.db.query_single(
|
||||
@@ -584,6 +584,7 @@ class DiscordController:
|
||||
return
|
||||
channel: TextChannel = msg.channel
|
||||
if channel.id == int(self.setting_service.get_value("dc_relay_public")):
|
||||
|
||||
if self.setting_service.get_value('is_alliance_bot') == "0":
|
||||
response = f"[<notice>{html.escape(msg.author.nick if msg.author.nick else msg.author.name, False)}" \
|
||||
f"</notice>]: " \
|
||||
@@ -592,7 +593,8 @@ class DiscordController:
|
||||
response = f"{html.escape(msg.author.nick if msg.author.nick else msg.author.name, False)}: " \
|
||||
f"{html.escape(emojis.decode(msg.clean_content), False)}"
|
||||
await msg.delete(delay=3600)
|
||||
self.relay_hub_service.send_message("public_relay", [msg.author.nick, msg.author], response, response)
|
||||
sender = self.db.query_single("SELECT * from account a left join player p on a.main = p.char_id where a.discord_id = ?", [msg.author.id])
|
||||
self.relay_hub_service.send_message("public_relay", sender, html.escape(emojis.decode(msg.clean_content), False), response)
|
||||
|
||||
if self.is_command(msg.content):
|
||||
admin = self.get_role("Administrator", self.guild.roles)
|
||||
|
||||
@@ -42,6 +42,7 @@ class PrivateChannelController:
|
||||
self.account_service: AccountService = registry.get_instance("account_service")
|
||||
self.db: DB = registry.get_instance("db")
|
||||
self.priv: PrivateChannelService = registry.get_instance("private_channel_service")
|
||||
self.online_controller = registry.get_instance("online_controller", is_optional=True)
|
||||
|
||||
def pre_start(self):
|
||||
self.db.create_view("online")
|
||||
@@ -205,6 +206,10 @@ class PrivateChannelController:
|
||||
msg = f"{self.text.format_char_info(self.pork.get_character_info(event_data.char_id))} joined us {info}"
|
||||
self.bot.send_private_channel_message(msg, fire_outgoing_event=False)
|
||||
self.message_hub_service.send_message(self.MESSAGE_SOURCE, None, msg, self.PRIVATE_CHANNEL_PREFIX + msg)
|
||||
afk_list = {}
|
||||
if self.online_controller:
|
||||
afk_list = self.online_controller.afk_list
|
||||
od = OnlineDisplay(self.text, self.util, self.db, afk_list)
|
||||
od = OnlineDisplay(self.text, self.util, self.db)
|
||||
params = [self.bot.name, self.bot.get_char_id()]
|
||||
self.bot.send_mass_message(event_data.char_id,
|
||||
|
||||
Reference in New Issue
Block a user