Fix
This commit is contained in:
@ -135,14 +135,14 @@ class PollCog(commands.Cog):
|
|||||||
# End the poll
|
# End the poll
|
||||||
await self._end_poll(message_id, poll_data, passed)
|
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"""
|
"""Create result embed for poll completion"""
|
||||||
title = f"Poll Results for {username}"
|
title = f"Poll Results for {username}"
|
||||||
if passed:
|
if passed:
|
||||||
description = "✅"
|
description = "✅"
|
||||||
color = discord.Color.green()
|
color = discord.Color.green()
|
||||||
if invite_url:
|
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:
|
else:
|
||||||
description += " Manual invite required"
|
description += " Manual invite required"
|
||||||
else:
|
else:
|
||||||
@ -162,6 +162,7 @@ class PollCog(commands.Cog):
|
|||||||
"""End the poll and handle the result"""
|
"""End the poll and handle the result"""
|
||||||
username = poll_data["username"]
|
username = poll_data["username"]
|
||||||
channel = self.bot.get_channel(poll_data["channel_id"])
|
channel = self.bot.get_channel(poll_data["channel_id"])
|
||||||
|
creator_id = poll_data["creator"]
|
||||||
|
|
||||||
if not channel:
|
if not channel:
|
||||||
return
|
return
|
||||||
@ -182,11 +183,6 @@ class PollCog(commands.Cog):
|
|||||||
if passed:
|
if passed:
|
||||||
# Create invite link to os.env("INVITE_CHANNEL")
|
# Create invite link to os.env("INVITE_CHANNEL")
|
||||||
try:
|
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")))
|
inv_channel = self.bot.get_channel(int(os.getenv("INVITE_CHANNEL")))
|
||||||
if not inv_channel:
|
if not inv_channel:
|
||||||
logging.error("INVITE_CHANNEL not found")
|
logging.error("INVITE_CHANNEL not found")
|
||||||
@ -197,15 +193,27 @@ class PollCog(commands.Cog):
|
|||||||
reason=f"Poll passed for {username}",
|
reason=f"Poll passed for {username}",
|
||||||
)
|
)
|
||||||
invite_url = invite.url
|
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:
|
except discord.Forbidden:
|
||||||
logging.error("Bot does not have permission to create invites.")
|
logging.error("Bot does not have permission to create invites.")
|
||||||
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Failed to create invite: {e}")
|
logging.error(f"Failed to create invite: {e}")
|
||||||
invite_url = None
|
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)
|
await message.edit(embed=result_embed)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user