Feature send welcome to self (#20)
* Added welcome message toggle and dm welcome message * Fixed a few typos and made better error messages
This commit is contained in:
parent
d3a65c20a4
commit
259a85a57e
@ -8,6 +8,7 @@ url = 'https://raw.githubusercontent.com/Kanium/KaniumCogs/master/welcomeCog/dat
|
|||||||
|
|
||||||
allowed_guilds = {274657393936302080, 693796372092289024, 508781789737648138}
|
allowed_guilds = {274657393936302080, 693796372092289024, 508781789737648138}
|
||||||
admin_roles = {'Developer', 'admin', 'Council'}
|
admin_roles = {'Developer', 'admin', 'Council'}
|
||||||
|
access_roles = {'HasAcceptedKaniumTerms'}
|
||||||
|
|
||||||
|
|
||||||
class WelcomeCog(commands.Cog):
|
class WelcomeCog(commands.Cog):
|
||||||
@ -15,6 +16,7 @@ class WelcomeCog(commands.Cog):
|
|||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.message: str = ''
|
self.message: str = ''
|
||||||
|
self.active = True
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def fetchMessage():
|
async def fetchMessage():
|
||||||
@ -72,12 +74,28 @@ class WelcomeCog(commands.Cog):
|
|||||||
self.message = await WelcomeCog.fetchMessage()
|
self.message = await WelcomeCog.fetchMessage()
|
||||||
message = WelcomeCog.formatMessage(self.message)
|
message = WelcomeCog.formatMessage(self.message)
|
||||||
await ctx.send(content=None, embed=message)
|
await ctx.send(content=None, embed=message)
|
||||||
except():
|
except Exception as e:
|
||||||
print(f'Error Occured!')
|
print(f'Error occurred while previewing the welcome message: {e}')
|
||||||
|
|
||||||
|
@commands.command(name='dmWelcomeMessage', case_insensitive=True, description='Sends')
|
||||||
|
@commands.has_any_role(*access_roles)
|
||||||
|
async def dmWelcomeMessage(self, ctx: commands.Context) -> None:
|
||||||
|
try:
|
||||||
|
await ctx.trigger_typing()
|
||||||
|
if ctx.guild.id not in allowed_guilds:
|
||||||
|
return
|
||||||
|
if self.message == '':
|
||||||
|
self.message = await WelcomeCog.fetchMessage()
|
||||||
|
message = WelcomeCog.formatMessage(self.message)
|
||||||
|
await ctx.author.send(content=None, embed=message)
|
||||||
|
except Exception as e:
|
||||||
|
print(f'Error occurred while previewing the welcome message: {e}')
|
||||||
|
|
||||||
@commands.Cog.listener()
|
@commands.Cog.listener()
|
||||||
async def on_member_join(self, member: discord.Member) -> None:
|
async def on_member_join(self, member: discord.Member) -> None:
|
||||||
try:
|
try:
|
||||||
|
if not self.active: # Check if the listener is active
|
||||||
|
return
|
||||||
if member.guild.id not in allowed_guilds:
|
if member.guild.id not in allowed_guilds:
|
||||||
return
|
return
|
||||||
if self.message == '':
|
if self.message == '':
|
||||||
@ -87,3 +105,9 @@ class WelcomeCog(commands.Cog):
|
|||||||
except (discord.NotFound, discord.Forbidden):
|
except (discord.NotFound, discord.Forbidden):
|
||||||
print(
|
print(
|
||||||
f'Error Occured! sending a dm to {member.display_name} didnt work !')
|
f'Error Occured! sending a dm to {member.display_name} didnt work !')
|
||||||
|
|
||||||
|
@commands.command(name='togglewelcome', case_insensitive=True, description='Toggles the welcome message listener')
|
||||||
|
@commands.has_any_role(*admin_roles)
|
||||||
|
async def toggleWelcome(self, ctx: commands.Context) -> None:
|
||||||
|
self.active = not self.active
|
||||||
|
await ctx.send(f'Welcome message listener {"activated" if self.active else "deactivated"}')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user