async def bye_sender(ev: SigmaEvent, member): bye_active = await ev.db.get_guild_settings(member.guild.id, 'bye') bye_active = True if bye_active is None else bye_active if bye_active: bye_channel_id = await ev.db.get_guild_settings( member.guild.id, 'bye_channel') if bye_channel_id: target = discord.utils.find(lambda x: x.id == bye_channel_id, member.guild.channels) else: target = None if target: current_goodbye = await ev.db.get_guild_settings( member.guild.id, 'bye_message') if not current_goodbye: current_goodbye = '{user_name} has left {server_name}.' goodbye_text = movement_message_parser(member, current_goodbye) bye_embed = await ev.db.get_guild_settings(member.guild.id, 'bye_embed') or {} if bye_embed.get('active'): goodbye = await make_bye_embed(bye_embed, goodbye_text, member.guild) await target.send(embed=goodbye) else: await target.send(goodbye_text)
async def greet_sender(_ev, pld): """ :param _ev: The main event instance referenced. :type _ev: sigma.core.mechanics.event.SigmaEvent :param pld: The event payload data to process. :type pld: sigma.core.mechanics.payload.MemberPayload """ greet_active = pld.settings.get('greet') greet_active = True if greet_active is None else greet_active if greet_active: greet_channel_id = pld.settings.get('greet_channel') target = pld.member.guild.get_channel( greet_channel_id) if greet_channel_id else None if target: current_greeting = pld.settings.get('greet_message') if not current_greeting: current_greeting = 'Hello {user_mention}, welcome to {server_name}.' greeting_text = movement_message_parser(pld.member, current_greeting) greet_embed = pld.settings.get('greet_embed', {}) if greet_embed.get('active'): greeting = await make_greet_embed(greet_embed, greeting_text, pld.member.guild) await target.send(embed=greeting) else: await target.send(greeting_text)
async def greet_sender(ev: SigmaEvent, member): greet_active = await ev.db.get_guild_settings(member.guild.id, 'greet') greet_active = True if greet_active is None else greet_active if greet_active: greet_dm = await ev.db.get_guild_settings(member.guild.id, 'greet_dm') if greet_dm: target = member else: greet_channel_id = await ev.db.get_guild_settings( member.guild.id, 'greet_channel') if greet_channel_id: target = discord.utils.find(lambda x: x.id == greet_channel_id, member.guild.channels) else: target = None if target: current_greeting = await ev.db.get_guild_settings( member.guild.id, 'greet_message') if not current_greeting: current_greeting = 'Hello {user_mention}, welcome to {server_name}.' greeting_text = movement_message_parser(member, current_greeting) greet_embed = await ev.db.get_guild_settings( member.guild.id, 'greet_embed') or {} if greet_embed.get('active'): greeting = await make_greet_embed(greet_embed, greeting_text, member.guild) await target.send(embed=greeting) else: await target.send(greeting_text)
async def bye_sender(ev: SigmaEvent, member): bye_active = await ev.db.get_guild_settings(member.guild.id, 'Bye') if bye_active is True or bye_active is None: bye_channel_id = await ev.db.get_guild_settings(member.guild.id, 'ByeChannel') if bye_channel_id is None: target = None else: target = discord.utils.find(lambda x: x.id == bye_channel_id, member.guild.channels) if target: current_goodbye = await ev.db.get_guild_settings(member.guild.id, 'ByeMessage') if current_goodbye is None: current_goodbye = '{user_name} has left {server_name}.' goodbye_text = movement_message_parser(member, current_goodbye) await target.send(goodbye_text)
async def greet_sender(ev, member): greet_active = await ev.db.get_guild_settings(member.guild.id, 'Greet') if greet_active is True or greet_active is None: greet_dm = await ev.db.get_guild_settings(member.guild.id, 'GreetDM') if greet_dm: target = member else: greet_channel_id = await ev.db.get_guild_settings(member.guild.id, 'GreetChannel') if greet_channel_id is None: target = None else: target = discord.utils.find(lambda x: x.id == greet_channel_id, member.guild.channels) if target: current_greeting = await ev.db.get_guild_settings(member.guild.id, 'GreetMessage') if current_greeting is None: current_greeting = 'Hello {user_mention}, welcome to {server_name}.' greeting_text = movement_message_parser(member, current_greeting) await target.send(greeting_text)
async def greetdm_sender(ev: SigmaEvent, member): greet_dm_active = await ev.db.get_guild_settings(member.guild.id, 'greet_dm') if greet_dm_active: if member: current_dm_greeting = await ev.db.get_guild_settings( member.guild.id, 'greet_dm_message') if not current_dm_greeting: current_dm_greeting = 'Hello {user_mention}, welcome to {server_name}.' greeting_dm_text = movement_message_parser(member, current_dm_greeting) greet_dm_embed = await ev.db.get_guild_settings( member.guild.id, 'greet_dm_embed') or {} if greet_dm_embed.get('active'): greeting_dm = await make_greet_embed(greet_dm_embed, greeting_dm_text, member.guild) await member.send(embed=greeting_dm) else: await member.send(greeting_dm_text)
async def greetdm_sender(_ev, pld): """ :param _ev: The main event instance referenced. :type _ev: sigma.core.mechanics.event.SigmaEvent :param pld: The event payload data to process. :type pld: sigma.core.mechanics.payload.MemberPayload """ greet_dm_active = pld.settings.get('greet_dm') if greet_dm_active: if pld.member: current_dm_greeting = pld.settings.get('greet_dm_message') if not current_dm_greeting: current_dm_greeting = 'Hello {user_mention}, welcome to {server_name}.' greeting_dm_text = movement_message_parser(pld.member, current_dm_greeting) greet_dm_embed = pld.settings.get('greet_dm_embed', {}) if greet_dm_embed.get('active'): greeting_dm = await make_greet_embed(greet_dm_embed, greeting_dm_text, pld.member.guild) await pld.member.send(embed=greeting_dm) else: await pld.member.send(greeting_dm_text)