Merge branch '1.0.1' into #270
This commit is contained in:
@@ -6,7 +6,7 @@ from cpl_discord.command import DiscordCommandABC
|
||||
from cpl_discord.service import DiscordBotServiceABC
|
||||
from cpl_query.extension import List
|
||||
from cpl_translation import TranslatePipe
|
||||
from discord import app_commands, Guild
|
||||
from discord import app_commands
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands import Context
|
||||
|
||||
@@ -312,26 +312,13 @@ class AutoRoleGroup(DiscordCommandABC):
|
||||
.where(lambda r: r.emoji_name == emoji.name and int(role_id) == role.id)
|
||||
.single()
|
||||
)
|
||||
try:
|
||||
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:
|
||||
self._logger.debug(__name__, f"Emoji {rule.emoji_name} not found")
|
||||
return
|
||||
await message.add_reaction(emoji)
|
||||
self._logger.debug(
|
||||
__name__,
|
||||
f"Added reaction {rule.emoji_name} to message: {auto_role_from_db.discord_message_id}",
|
||||
)
|
||||
except Exception as e:
|
||||
self._logger.error(
|
||||
__name__,
|
||||
f"Cannot add reaction {rule.emoji_name} to message: {auto_role_from_db.discord_message_id}",
|
||||
e,
|
||||
# as task to run in background
|
||||
self._bot.loop.create_task(
|
||||
await self._client_utils.react_to_message_by_auto_role_rule(
|
||||
auto_role_from_db.discord_channel_id, auto_role_from_db.discord_message_id, rule, ctx.guild
|
||||
)
|
||||
)
|
||||
|
||||
await self._message_service.send_ctx_msg(
|
||||
ctx,
|
||||
|
@@ -32,9 +32,9 @@ class AutoRoleReactionHandler:
|
||||
return
|
||||
|
||||
guild = self._bot.get_guild(payload.guild_id)
|
||||
user = guild.get_member(payload.user_id)
|
||||
user = guild.get_member(payload.id)
|
||||
if user is None:
|
||||
self._logger.warn(__name__, f"User {payload.user_id} in {guild.name} not found - skipping")
|
||||
self._logger.warn(__name__, f"User {payload.id} in {guild.name} not found - skipping")
|
||||
return
|
||||
|
||||
if user.bot:
|
||||
|
@@ -102,6 +102,9 @@ class BaseOnVoiceStateUpdateEvent(OnVoiceStateUpdateABC):
|
||||
server = self._servers.get_server_by_discord_id(member.guild.id)
|
||||
|
||||
try:
|
||||
if before.channel == after.channel:
|
||||
return
|
||||
|
||||
# join
|
||||
if (
|
||||
before.channel is None
|
||||
|
@@ -52,12 +52,12 @@ class BaseOnVoiceStateUpdateEventScheduledEventBonus(OnVoiceStateUpdateABC):
|
||||
return
|
||||
|
||||
server = self._servers.get_server_by_discord_id(member.guild.id)
|
||||
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.server_id)
|
||||
if active_event.participants.any(lambda x: x.user_id == user.user_id):
|
||||
user = self._users.get_user_by_discord_id_and_server_id(member.id, server.id)
|
||||
if active_event.participants.any(lambda x: x.id == user.id):
|
||||
self._logger.debug(__name__, f"Module {type(self)} stopped")
|
||||
return
|
||||
|
||||
settings: BaseServerSettings = self._base_helper.get_config(server.discord_server_id)
|
||||
settings: BaseServerSettings = self._base_helper.get_config(server.discord_id)
|
||||
user.xp += settings.xp_per_event_participation
|
||||
self._users.update_user(user)
|
||||
self._db.save_changes()
|
||||
|
@@ -36,9 +36,9 @@ class BaseReactionHandler:
|
||||
self._logger.trace(__name__, f"Handle reaction {payload} {r_type}")
|
||||
|
||||
guild = self._bot.get_guild(payload.guild_id)
|
||||
member = guild.get_member(payload.user_id)
|
||||
member = guild.get_member(payload.id)
|
||||
if member is None:
|
||||
self._logger.warn(__name__, f"User {payload.user_id} in {guild.name} not found - skipping")
|
||||
self._logger.warn(__name__, f"User {payload.id} in {guild.name} not found - skipping")
|
||||
return
|
||||
|
||||
try:
|
||||
|
Reference in New Issue
Block a user