Renamed type_id to id for sorting #130

This commit is contained in:
2023-02-17 18:12:27 +01:00
parent 85452c9a74
commit fea259fa3b
67 changed files with 224 additions and 223 deletions

View File

@@ -52,7 +52,7 @@ class AutoRoleGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.server_id).select(lambda x: x.auto_role_id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.id).select(lambda x: x.id)
return [
app_commands.Choice(name=auto_role, value=auto_role)
for auto_role in self._client_utils.get_auto_complete_list(auto_roles, current)
@@ -79,7 +79,7 @@ class AutoRoleGroup(DiscordCommandABC):
color=int("ef9d0d", 16),
)
server = self._servers.get_server_by_discord_id(ctx.guild.id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.server_id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.id)
if auto_roles.count() < 1:
await self._message_service.send_ctx_msg(ctx, self._t.transform("modules.auto_role.error.nothing_found"))
self._logger.trace(__name__, f"Finished command auto-role list")
@@ -88,7 +88,7 @@ class AutoRoleGroup(DiscordCommandABC):
auto_role_id = ""
message_id = ""
for auto_role in auto_roles:
auto_role_id += f"\n{auto_role.auto_role_id}"
auto_role_id += f"\n{auto_role.id}"
message_id += f"\n{auto_role.discord_message_id}"
embed.add_field(
@@ -181,7 +181,7 @@ class AutoRoleGroup(DiscordCommandABC):
self._logger.trace(__name__, f"Finished command auto-role remove")
return
for rule in self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_from_db.auto_role_id):
for rule in self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role_from_db.id):
self._auto_roles.delete_auto_role_rule(rule)
self._logger.info(__name__, f"Removed auto-role rule {rule.role_id}")
@@ -392,12 +392,12 @@ class AutoRoleGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.server_id).select(lambda x: x.auto_role_id)
auto_roles = self._auto_roles.get_auto_roles_by_server_id(server.id).select(lambda x: x.id)
rules = auto_roles.select_many(lambda ar: self._auto_roles.get_auto_role_rules_by_auto_role_id(ar))
return [
app_commands.Choice(
name=f"{rule.auto_role_rule_id} {rule.emoji_name} {interaction.guild.get_role(int(rule.role_id))}",
value=rule.auto_role_rule_id,
name=f"{rule.id} {rule.emoji_name} {interaction.guild.get_role(int(rule.role_id))}",
value=rule.id,
)
for rule in self._client_utils.get_auto_complete_list(rules, current, lambda r: r.auto_role_rule_id)
for rule in self._client_utils.get_auto_complete_list(rules, current, lambda r: r.id)
]

View File

@@ -1,4 +1,3 @@
import discord
from cpl_core.logging import LoggerABC
from cpl_discord.service import DiscordBotServiceABC
from cpl_query.extension import List
@@ -50,7 +49,7 @@ class AutoRoleReactionHandler:
self._logger.debug(__name__, f"auto-role for message not found - skipping")
return
rules: List[AutoRoleRule] = self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role.auto_role_id)
rules: List[AutoRoleRule] = self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role.id)
if rules.count() == 0:
self._logger.debug(__name__, f"auto-role rules not found - skipping")
return

View File

@@ -59,7 +59,7 @@ class PingCommand(DiscordCommandABC):
color=int("ef9d0d", 16),
)
server = self._servers.get_server_by_discord_id(ctx.guild.id)
settings: BaseServerSettings = self._base_helper.get_config(server.discord_server_id)
settings: BaseServerSettings = self._base_helper.get_config(server.discord_id)
for server in settings.ping_urls:
embed.add_field(name=server, value=f"{self._get_ping(server)} ms", inline=False)
await self._message_service.send_ctx_msg(ctx, embed)

View File

@@ -73,7 +73,7 @@ class RegisterGroup(DiscordCommandABC):
return
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
user.minecraft_id = minecraft_id
self._users.update_user(user)
self._db.save_changes()

View File

@@ -52,7 +52,7 @@ class UnregisterGroup(DiscordCommandABC):
self._logger.debug(__name__, f"Received command register minecraft {ctx}")
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
user.minecraft_id = None
self._users.update_user(user)
self._db.save_changes()

View File

@@ -81,7 +81,7 @@ class UserGroup(DiscordCommandABC):
member = ctx.author
server = self._servers.find_server_by_discord_id(ctx.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if atr == "xp":
if is_remove:
@@ -125,8 +125,8 @@ class UserGroup(DiscordCommandABC):
member = ctx.author
server = self._servers.find_server_by_discord_id(ctx.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
joins = self._user_joined_servers.get_user_joined_servers_by_user_id(user.user_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
joins = self._user_joined_servers.get_user_joined_servers_by_user_id(user.id)
embed = discord.Embed(title=member.name, description=member.name, color=int("ef9d0d", 16))
@@ -206,7 +206,7 @@ class UserGroup(DiscordCommandABC):
member = ctx.author
server = self._servers.find_server_by_discord_id(ctx.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if atr == "xp":
value = str(user.xp)
@@ -241,7 +241,7 @@ class UserGroup(DiscordCommandABC):
member = ctx.author
server = self._servers.find_server_by_discord_id(ctx.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if atr == "xp":
try:
@@ -312,7 +312,7 @@ class UserGroup(DiscordCommandABC):
member = ctx.author
server = self._servers.find_server_by_discord_id(ctx.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if atr == "xp":
user.xp = 0
@@ -321,7 +321,7 @@ class UserGroup(DiscordCommandABC):
await self._level.check_level(member)
elif atr == "ontime":
self._user_joined_voice_channel.delete_user_joined_voice_channel_by_user_id(user.user_id)
self._user_joined_voice_channel.delete_user_joined_voice_channel_by_user_id(user.id)
self._db.save_changes()
else:

View File

@@ -64,7 +64,7 @@ class BaseOnCommandEvent(OnCommandABC):
user: Optional[User] = None
try:
user = self._users.get_user_by_discord_id_and_server_id(dc_user_id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(dc_user_id, server.id)
except Exception as e:
self._logger.error(__name__, f"Cannot get user {dc_user_id}", e)
return

View File

@@ -85,7 +85,7 @@ class BaseOnMemberJoinEvent(OnMemberJoinABC):
try:
server = self._servers.get_server_by_discord_id(member.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is not None:
self._user_joins.add_user_joined_server(UserJoinedServer(user, datetime.now()))
self._db.save_changes()
@@ -94,7 +94,7 @@ class BaseOnMemberJoinEvent(OnMemberJoinABC):
self._logger.debug(__name__, f"Add user: {member.id}")
self._users.add_user(User(member.id, 0, server))
self._db.save_changes()
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
self._user_joins.add_user_joined_server(UserJoinedServer(user, datetime.now()))
self._db.save_changes()
except Exception as e:

View File

@@ -47,12 +47,12 @@ class BaseOnMemberRemoveEvent(OnMemberRemoveABC):
try:
server = self._servers.get_server_by_discord_id(member.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.error(__name__, f"Cannot find user {member}")
return
join = self._user_joins.get_active_user_joined_server_by_user_id(user.user_id)
join = self._user_joins.get_active_user_joined_server_by_user_id(user.id)
join.leaved_on = datetime.now()
self._user_joins.update_user_joined_server(join)
self._db.save_changes()

View File

@@ -52,7 +52,7 @@ class BaseOnMessageDeleteEvent(OnMessageDeleteABC):
user: Optional[User] = None
try:
user = self._users.find_user_by_discord_id_and_server_id(dc_user_id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(dc_user_id, server.id)
except Exception as e:
self._logger.error(__name__, f"Cannot get user {dc_user_id}", e)
return

View File

@@ -57,7 +57,7 @@ class BaseOnMessageEvent(OnMessageABC):
user: Optional[User] = None
try:
user = self._users.find_user_by_discord_id_and_server_id(dc_user_id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(dc_user_id, server.id)
except Exception as e:
self._logger.error(__name__, f"Cannot get user {dc_user_id}", e)
return

View File

@@ -51,7 +51,7 @@ class BaseOnVoiceStateUpdateEvent(OnVoiceStateUpdateABC):
def _update_voice_state(self, joined: bool, dc_user_id: int, dc_channel_id: int, server: Server):
user: Optional[User] = None
try:
user = self._users.get_user_by_discord_id_and_server_id(dc_user_id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(dc_user_id, server.id)
except Exception as e:
self._logger.error(__name__, f"Cannot get user {dc_user_id}", e)
return
@@ -67,9 +67,9 @@ class BaseOnVoiceStateUpdateEvent(OnVoiceStateUpdateABC):
self._db.save_changes()
return
settings: BaseServerSettings = self._base_helper.get_config(server.discord_server_id)
settings: BaseServerSettings = self._base_helper.get_config(server.discord_id)
join = self._user_joins_vc.get_active_user_joined_voice_channel_by_user_id(user.user_id)
join = self._user_joins_vc.get_active_user_joined_voice_channel_by_user_id(user.id)
join.leaved_on = datetime.now()
# ontime as hours

View File

@@ -43,7 +43,7 @@ class BaseOnVoiceStateUpdateEventHelpChannel(OnVoiceStateUpdateABC):
):
self._logger.debug(__name__, f"Module {type(self)} started")
server = self._servers.get_server_by_discord_id(member.guild.id)
settings: BaseServerSettings = self._base_helper.get_config(server.discord_server_id)
settings: BaseServerSettings = self._base_helper.get_config(server.discord_id)
if after.channel is None or after.channel.id != settings.help_voice_channel_id:
return

View File

@@ -62,7 +62,7 @@ class BaseReactionHandler:
return
server = self._servers.get_server_by_discord_id(guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
settings: BaseServerSettings = self._base_helper.get_config(guild.id)
if r_type == "add":

View File

@@ -144,7 +144,7 @@ class DatabaseOnReadyEvent(OnReadyABC):
if server is None:
self._logger.fatal(__name__, f"Server not found in database: {g.id}")
client = self._clients.find_client_by_server_id(server.server_id)
client = self._clients.find_client_by_server_id(server.id)
if client is not None:
continue
@@ -156,7 +156,7 @@ class DatabaseOnReadyEvent(OnReadyABC):
self._clients.add_client(Client(self._bot.user.id, 0, 0, 0, 0, 0, server))
self._db_context.save_changes()
client = self._clients.find_client_by_server_id(server.server_id)
client = self._clients.find_client_by_server_id(server.id)
if client is None:
self._logger.fatal(
__name__,
@@ -187,7 +187,7 @@ class DatabaseOnReadyEvent(OnReadyABC):
self._logger.trace(__name__, f"User {u.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id)
if user is not None:
continue
@@ -220,11 +220,11 @@ class DatabaseOnReadyEvent(OnReadyABC):
self._logger.trace(__name__, f"User {u.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {u.id}")
join = self._user_joins.find_active_user_joined_server_by_user_id(user.user_id)
join = self._user_joins.find_active_user_joined_server_by_user_id(user.id)
if join is not None:
continue
@@ -253,7 +253,7 @@ class DatabaseOnReadyEvent(OnReadyABC):
joins = self._user_joins.get_user_joined_servers()
for join in joins:
join: UserJoinedServer = join
if join.user.server.discord_server_id != guild.id:
if join.user.server.discord_id != guild.id:
continue
if join.leaved_on is not None:
@@ -285,11 +285,11 @@ class DatabaseOnReadyEvent(OnReadyABC):
self._logger.trace(__name__, f"User {member.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
joins = self._user_joins_vc.find_active_user_joined_voice_channels_by_user_id(user.user_id)
joins = self._user_joins_vc.find_active_user_joined_voice_channels_by_user_id(user.id)
if joins is None or len(joins) == 0:
continue
@@ -318,7 +318,7 @@ class DatabaseOnReadyEvent(OnReadyABC):
if member.voice is None:
continue
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
@@ -345,11 +345,11 @@ class DatabaseOnReadyEvent(OnReadyABC):
self._logger.trace(__name__, f"User {member.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
joins = self._user_joined_gs.find_active_user_joined_game_servers_by_user_id(user.user_id)
joins = self._user_joined_gs.find_active_user_joined_game_servers_by_user_id(user.id)
if joins is None or len(joins) == 0:
continue

View File

@@ -108,7 +108,7 @@ class LevelGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
levels = self._levels.get_levels_by_server_id(server.server_id).select(lambda l: l.name)
levels = self._levels.get_levels_by_server_id(server.id).select(lambda l: l.name)
return [
app_commands.Choice(name=level, value=level)
for level in self._client_utils.get_auto_complete_list(levels, current)
@@ -130,7 +130,7 @@ class LevelGroup(DiscordCommandABC):
return
server = self._servers.get_server_by_discord_id(ctx.guild.id)
levels = self._levels.get_levels_by_server_id(server.server_id)
levels = self._levels.get_levels_by_server_id(server.id)
if levels.count() < 1:
await self._message_service.send_ctx_msg(ctx, self._t.transform("modules.level.error.nothing_found"))
self._logger.trace(__name__, f"Finished command level list")
@@ -187,7 +187,7 @@ class LevelGroup(DiscordCommandABC):
server = self._servers.get_server_by_discord_id(ctx.guild.id)
level = Level(name, color, min_xp, permissions, server)
levels = self._levels.get_levels_by_server_id(server.server_id)
levels = self._levels.get_levels_by_server_id(server.id)
if levels.where(lambda l: l.name == level.name).first_or_default() is not None:
self._logger.debug(__name__, f"Level with name {level.name} already exists")
@@ -261,7 +261,7 @@ class LevelGroup(DiscordCommandABC):
server = self._servers.get_server_by_discord_id(ctx.guild.id)
level_from_db = (
self._levels.get_levels_by_server_id(server.server_id).where(lambda l: l.name == level).single_or_default()
self._levels.get_levels_by_server_id(server.id).where(lambda l: l.name == level).single_or_default()
)
if level_from_db is None:
await self._message_service.send_ctx_msg(
@@ -353,7 +353,7 @@ class LevelGroup(DiscordCommandABC):
server = self._servers.get_server_by_discord_id(ctx.guild.id)
level_from_db = (
self._levels.get_levels_by_server_id(server.server_id).where(lambda l: l.name == level).first_or_default()
self._levels.get_levels_by_server_id(server.id).where(lambda l: l.name == level).first_or_default()
)
if level_from_db is None:
self._logger.debug(__name__, f"level {level} not found")
@@ -399,9 +399,9 @@ class LevelGroup(DiscordCommandABC):
return
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
level = self._level_service.get_level(user)
levels = self._levels.get_levels_by_server_id(server.server_id).order_by(lambda l: l.min_xp)
levels = self._levels.get_levels_by_server_id(server.id).order_by(lambda l: l.min_xp)
if level == levels.first():
await self._message_service.send_ctx_msg(
@@ -441,9 +441,9 @@ class LevelGroup(DiscordCommandABC):
return
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
level = self._level_service.get_level(user)
levels = self._levels.get_levels_by_server_id(server.server_id).order_by(lambda l: l.min_xp)
levels = self._levels.get_levels_by_server_id(server.id).order_by(lambda l: l.min_xp)
if level.name == levels.last().name:
await self._message_service.send_ctx_msg(
@@ -482,11 +482,9 @@ class LevelGroup(DiscordCommandABC):
return
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
current_level = self._level_service.get_level(user)
new_level = (
self._levels.get_levels_by_server_id(server.server_id).where(lambda l: l.name == level).single_or_default()
)
new_level = self._levels.get_levels_by_server_id(server.id).where(lambda l: l.name == level).single_or_default()
if new_level is None:
await self._message_service.send_ctx_msg(

View File

@@ -47,7 +47,7 @@ class LevelSeeder(DataSeederABC):
)
self._logger.debug(__name__, f"Created role {level.name}")
levels = self._levels.find_levels_by_server_id(server.server_id)
levels = self._levels.find_levels_by_server_id(server.id)
if levels is None or levels.where(lambda l: l.name == level.name).first_or_default() is None:
self._levels.add_level(level)
self._logger.debug(__name__, f"Saved level {level.name}")
@@ -69,7 +69,7 @@ class LevelSeeder(DataSeederABC):
if server is None:
continue
levels = self._levels.find_levels_by_server_id(server.server_id)
levels = self._levels.find_levels_by_server_id(server.id)
if levels is not None and levels.count() > 0:
# create levels from db
for level in levels:

View File

@@ -1,5 +1,3 @@
import asyncio
import discord
from cpl_core.configuration import ConfigurationABC
from cpl_core.database.context import DatabaseContextABC
@@ -41,7 +39,7 @@ class LevelService:
self._t = t
def get_level(self, user: User) -> Level:
levels_by_server = self._levels.get_levels_by_server_id(user.server.server_id)
levels_by_server = self._levels.get_levels_by_server_id(user.server.id)
levels = levels_by_server.order_by(lambda l: l.min_xp).where(lambda l: user.xp >= l.min_xp)
if levels.count() == 0:
@@ -50,8 +48,8 @@ class LevelService:
return levels.last()
async def set_level(self, user: User):
level_names = self._levels.get_levels_by_server_id(user.server.server_id).select(lambda l: l.name)
guild: Guild = self._bot.guilds.where(lambda g: g.id == user.server.discord_server_id).single()
level_names = self._levels.get_levels_by_server_id(user.server.id).select(lambda l: l.name)
guild: Guild = self._bot.guilds.where(lambda g: g.id == user.server.discord_id).single()
member: Member = guild.members.where(lambda m: m.id == user.discord_id).single()
level = self.get_level(user)
@@ -89,7 +87,7 @@ class LevelService:
return
server = self._servers.get_server_by_discord_id(member.guild.id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.server_id)
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.warn(__name__, f"User not found {member.guild.name}@{member.name}")
return

View File

@@ -66,7 +66,7 @@ class StatsGroup(DiscordCommandABC):
)
server = self._servers.get_server_by_discord_id(ctx.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
if stats.count() == 0:
await self._message_service.send_ctx_msg(ctx, self._t.transform("modules.stats.list.nothing_found"))
@@ -103,7 +103,7 @@ class StatsGroup(DiscordCommandABC):
try:
server = self._servers.get_server_by_discord_id(ctx.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
statistic = stats.where(lambda s: s.name == name).single()
result = await self._statistic.execute(statistic.code, server)
@@ -132,7 +132,7 @@ class StatsGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
return [
app_commands.Choice(name=f"{statistic.name}: {statistic.description}", value=statistic.name)
for statistic in stats
@@ -171,7 +171,7 @@ class StatsGroup(DiscordCommandABC):
try:
server = self._servers.get_server_by_discord_id(ctx.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
statistic = stats.where(lambda s: s.name == name).single()
form = AddStatisticForm(
server,
@@ -196,7 +196,7 @@ class StatsGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
return [
app_commands.Choice(name=f"{statistic.name}: {statistic.description}", value=statistic.name)
for statistic in stats
@@ -211,7 +211,7 @@ class StatsGroup(DiscordCommandABC):
try:
server = self._servers.get_server_by_discord_id(ctx.guild.id)
statistic = self._stats.get_statistic_by_name(name, server.server_id)
statistic = self._stats.get_statistic_by_name(name, server.id)
self._stats.delete_statistic(statistic)
self._db.save_changes()
await self._message_service.send_ctx_msg(ctx, self._t.transform("modules.stats.remove.success"))
@@ -225,7 +225,7 @@ class StatsGroup(DiscordCommandABC):
self, interaction: discord.Interaction, current: str
) -> TList[app_commands.Choice[str]]:
server = self._servers.get_server_by_discord_id(interaction.guild.id)
stats = self._stats.get_statistics_by_server_id(server.server_id)
stats = self._stats.get_statistics_by_server_id(server.id)
return [
app_commands.Choice(name=f"{statistic.name}: {statistic.description}", value=statistic.name)
for statistic in stats

View File

@@ -1,5 +1,3 @@
from abc import abstractmethod
from cpl_discord.service import DiscordBotServiceABC
from cpl_query.extension import List
from discord import Guild
@@ -49,22 +47,20 @@ class StatisticService:
self._bot = bot
async def execute(self, code: str, server: Server) -> StatisticResult:
guild = self._bot.guilds.where(lambda g: g.id == server.discord_server_id).single()
guild = self._bot.guilds.where(lambda g: g.id == server.discord_id).single()
return await self.get_data(
code,
self._auto_roles.get_auto_roles().where(lambda x: x.server.server_id == server.server_id),
self._clients.get_clients().where(lambda x: x.server.server_id == server.server_id),
self._auto_roles.get_auto_roles().where(lambda x: x.server.id == server.id),
self._clients.get_clients().where(lambda x: x.server.id == server.id),
self._known_users.get_users(),
self._levels.get_levels().where(lambda x: x.server.server_id == server.server_id),
self._servers.get_servers().where(lambda x: x.server_id == server.server_id),
self._user_joined_servers.get_user_joined_servers().where(
lambda x: x.user.server.server_id == server.server_id
),
self._levels.get_levels().where(lambda x: x.server.id == server.id),
self._servers.get_servers().where(lambda x: x.id == server.id),
self._user_joined_servers.get_user_joined_servers().where(lambda x: x.user.server.id == server.id),
self._user_joined_voice_channel.get_user_joined_voice_channels().where(
lambda x: x.user.server.server_id == server.server_id
lambda x: x.user.server.id == server.id
),
self._users.get_users().where(lambda x: x.server.server_id == server.server_id),
self._users.get_users().where(lambda x: x.server.id == server.id),
guild,
)

View File

@@ -1,6 +1,5 @@
import discord
from cpl_core.database.context import DatabaseContextABC
from cpl_query.extension import List
from cpl_translation import TranslatePipe
from discord import ui, TextStyle
@@ -45,7 +44,7 @@ class AddStatisticForm(ui.Modal):
async def on_submit(self, interaction: discord.Interaction):
statistic = (
self._stats.get_statistics_by_server_id(self._server.server_id)
self._stats.get_statistics_by_server_id(self._server.id)
.where(lambda s: s.name == self._name)
.single_or_default()
)

View File

@@ -95,7 +95,7 @@ class ApiKeyGroup(DiscordCommandABC):
self._logger.debug(__name__, f"Received command api-key add {ctx}: {identifier}")
server = self._servers.get_server_by_discord_id(ctx.guild.id)
user = self._users.get_user_by_discord_id_and_server_id(ctx.author.id, server.server_id)
user = self._users.get_user_by_discord_id_and_server_id(ctx.author.id, server.id)
api_key = ApiKey(identifier, str(uuid.uuid4()), user)
self._api_keys.add_api_key(api_key)
self._db.save_changes()