Fixed auto-role add #151

This commit is contained in:
2022-12-30 13:05:49 +01:00
parent 33fb973f21
commit 844a818aa0
6 changed files with 52 additions and 4 deletions

View File

@@ -114,7 +114,7 @@ class AutoRoleGroup(DiscordCommandABC):
return
server_id = self._servers.get_server_by_discord_id(ctx.guild.id).server_id
self._auto_roles.add_auto_role(AutoRole(server_id, int(message_id)))
self._auto_roles.add_auto_role(AutoRole(server_id, int(channel.id), int(message_id)))
self._db_context.save_changes()
self._logger.info(__name__, f'Saved auto-role for message {message_id} at server {server_id}')
await self._message_service.send_ctx_msg(ctx, self._t.transform('modules.auto_role.add.success').format(message_id))
@@ -239,8 +239,9 @@ class AutoRoleGroup(DiscordCommandABC):
self._db_context.save_changes()
rule = self._auto_roles.get_auto_role_rules_by_auto_role_id(auto_role).where(lambda r: r.emoji_name == emoji.name and int(role_id) == role.id).single()
try:
message = await ctx.fetch_message(auto_role_from_db.discord_message_id)
guild: Guild = self._bot.guilds.where(lambda g: g == ctx.guild).single()
channel = guild.get_channel(auto_role_from_db.discord_channel_id)
message = await channel.fetch_message(auto_role_from_db.discord_message_id)
emoji = List(discord.Emoji, guild.emojis).where(lambda x: x.name == rule.emoji_name).single()
if emoji is None:

View File

@@ -36,6 +36,9 @@ class BaseReactionHandler:
self._logger.warn(__name__, f'User {payload.user_id} in {guild.name} not found - skipping')
return
if member.bot:
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)
settings: BaseServerSettings = self._base_helper.get_config(guild.id)