def message_edit(message: discord.Message, before_message_content: str, after_message_content: str): member = message.author return CustomEmbed( title='**Изменение сообщения**', thumbnail_url=member.avatar_url, footer=EmbedFooter(text=f'ID: {member.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{member.id}> | {member.name}#{member.discriminator}' ), EmbedField(name='Канал:', value=f'<#{message.channel.id}>'), EmbedField(name='Сообщение:', value=f'[Нажми на меня]({message.jump_url})'), EmbedField(name='Первоначальное сообщение:', value=before_message_content), EmbedField(name='Конечное сообщение:', value=after_message_content), EmbedField(name='Разница:', value=''.join([ li for li in difflib.ndiff(before_message_content, after_message_content) if li[0] != ' ' ])) ])
def welcome(data: structures.WelcomeStructure): return CustomEmbed( title= f'**Добро пожаловать на Discord-сервер официального клана [BestLife]**', author=EmbedAuthor(name='BestLife Official Clan', icon_url='https://i.ibb.co/YfvrWVZ/image.png'), color=colors.darkseagreen, thumbnail_url=data.thumbnail, image_url=data.image_url, footer=EmbedFooter( text='\nНадеемся, Вы останетесь надолго!', icon_url= 'https://cdn.discordapp.com/emojis/586502453424553985.png?v=1'), fields=[ EmbedField(name=f'**Мои поздравления, {data.name}!**', value=f'Вы {data.members_count}-й участник сервера!'), EmbedField(name='**Общение с другими участниками сервера: **', value=f'<#{channels.COMMUNITY}>'), EmbedField(name='**Speedwagon (клановый бот): **', value=f'<#{channels.SPEEDWAGON}>'), EmbedField(name='**Дискорд конференции официальных кланов:**', value=f'<#{channels.OFFICIAL_CLANS}>'), EmbedField( name='**Ссылка на набор в клан:**', value= '[Нажми на меня](https://forum.excalibur-craft.ru/forum/125-BestLife/)' ), EmbedField(name='**Бессрочное приглашение на наш сервер:**', value='[Нажми на меня](https://discord.gg/ER5Vfmx)') ])
def member_ban(user: discord.User): return CustomEmbed( title='**Пользователь забанен**', color=colors.red, thumbnail_url=user.avatar_url, footer=EmbedFooter(text=f'ID: {user.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{user.id}> | {user.name}#{user.discriminator}') ])
def member_join(member: discord.Member): return CustomEmbed( title='**Участник подключился к серверу**', color=colors.green, thumbnail_url=member.avatar_url, footer=EmbedFooter(text=f'ID: {member.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{member.id}> | {member.name}#{member.discriminator}' ) ])
def member_role_delete(member: discord.Member, role: discord.Role): return CustomEmbed( title='**Снятие роли с пользователя**', color=colors.red, thumbnail_url=member.avatar_url, footer=EmbedFooter(text=f'ID: {member.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{member.id}> | {member.name}#{member.discriminator}' ), EmbedField(name='Роль:', value='%s' % role.name) ])
def message_delete(message: discord.Message, message_content: str): member = message.author return CustomEmbed( title='**Удаление сообщения**', color=colors.red, thumbnail_url=member.avatar_url, footer=EmbedFooter(text=f'ID: {member.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{member.id}> | {member.name}#{member.discriminator}' ), EmbedField(name='Канал:', value=f'<#{message.channel.id}>'), EmbedField(name='Сообщение:', value=message_content) ])
def message_purge(member: discord.Member, channel_id: int, purged_messages_number: int): return CustomEmbed( title='**Чистка сообщений**', color=colors.red, thumbnail_url=member.avatar_url, footer=EmbedFooter(text=f'ID: {member.id}'), fields=[ EmbedField( name='Пользователь:', value=f'<@!{member.id}> | {member.name}#{member.discriminator}' ), EmbedField(name='Канал:', value=f'<#{channel_id}>'), EmbedField(name='Количество удаленных сообщений:', value=f'{purged_messages_number}') ])
def member_name_change(before_member: discord.Member, after_member: discord.Member): return CustomEmbed( title='**Изменение никнейма пользователя**', thumbnail_url=before_member.avatar_url, footer=EmbedFooter(text=f'ID: {before_member.id}'), fields=[ EmbedField( name='Пользователь:', value= f'<@!{after_member.id}> | {after_member.name}#{after_member.discriminator}' ), EmbedField(name='Предыдущий никнейм:', value=f'{before_member.nick}') if before_member.nick is not None else EmbedField(name='Предыдущий никнейм:', value=f'{before_member.display_name}'), EmbedField(name='Конечный никнейм:', value=f'{after_member.nick}') if after_member.nick is not None else EmbedField( name='Конечный никнейм:', value=f'{after_member.display_name}') ])
def role_delete(role: discord.Role): return CustomEmbed( title='**Удаление роли**', color=colors.red, footer=EmbedFooter(text=f'ID: {role.id}'), fields=[EmbedField(name='Название роли:', value=role.name)])
def role_create(role: discord.Role): return CustomEmbed( title='**Создание роли**', color=colors.green, footer=EmbedFooter(text=f'ID: {role.id}'), fields=[EmbedField(name='Название роли:', value=role.name)])
def rank_change_card(image_url, isMentioned): return CustomEmbed(title='**Обновление ранга:**', color=colors.yellow, image_url=image_url, footer=EmbedFooter(text='\nОтключить упоминания (уведомления) - /notifications | /nots') if isMentioned else EmbedFooter(text='\nВключить упоминания (уведомления) - /notifications | /nots'))