コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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)
コード例 #7
0
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)