Fix
This commit is contained in:
@ -135,14 +135,14 @@ class PollCog(commands.Cog):
|
||||
# End the poll
|
||||
await self._end_poll(message_id, poll_data, passed)
|
||||
|
||||
def __result_embed(self, username, passed, invite_url=None):
|
||||
def __result_embed(self, username, passed, creator_id):
|
||||
"""Create result embed for poll completion"""
|
||||
title = f"Poll Results for {username}"
|
||||
if passed:
|
||||
description = "✅"
|
||||
color = discord.Color.green()
|
||||
if invite_url:
|
||||
description += f" Their DMs are off, so send them this!\n\nInvite link: {invite_url}"
|
||||
description += f" <@{creator_id}> The poll passed! Check your DMs for the invite link."
|
||||
else:
|
||||
description += " Manual invite required"
|
||||
else:
|
||||
@ -162,6 +162,7 @@ class PollCog(commands.Cog):
|
||||
"""End the poll and handle the result"""
|
||||
username = poll_data["username"]
|
||||
channel = self.bot.get_channel(poll_data["channel_id"])
|
||||
creator_id = poll_data["creator"]
|
||||
|
||||
if not channel:
|
||||
return
|
||||
@ -182,11 +183,6 @@ class PollCog(commands.Cog):
|
||||
if passed:
|
||||
# Create invite link to os.env("INVITE_CHANNEL")
|
||||
try:
|
||||
# invite = await channel.create_invite(
|
||||
# max_uses=1,
|
||||
# max_age=timedelta(hours=HOURS),
|
||||
# reason=f"Poll passed for {username}",
|
||||
# )
|
||||
inv_channel = self.bot.get_channel(int(os.getenv("INVITE_CHANNEL")))
|
||||
if not inv_channel:
|
||||
logging.error("INVITE_CHANNEL not found")
|
||||
@ -197,15 +193,27 @@ class PollCog(commands.Cog):
|
||||
reason=f"Poll passed for {username}",
|
||||
)
|
||||
invite_url = invite.url
|
||||
|
||||
try:
|
||||
creator = self.bot.get_user(creator_id)
|
||||
if creator:
|
||||
dm_embed = discord.Embed(
|
||||
title=f"Poll Passed for {username}",
|
||||
description=f"The poll you created has passed! Here's the invite link:\n\n{invite_url}",
|
||||
color=discord.Color.green(),
|
||||
)
|
||||
await creator.send(embed=dm_embed)
|
||||
else:
|
||||
logging.error(f"Could not find user with ID {creator_id}")
|
||||
except discord.Forbidden:
|
||||
logging.error(f"Could not DM user {creator_id} - DMs may be disabled")
|
||||
except discord.Forbidden:
|
||||
logging.error("Bot does not have permission to create invites.")
|
||||
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Failed to create invite: {e}")
|
||||
invite_url = None
|
||||
|
||||
result_embed = self.__result_embed(username, passed, invite_url)
|
||||
result_embed = self.__result_embed(username, passed, creator_id)
|
||||
await message.edit(embed=result_embed)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user