コード例 #1
0
def online(data: structures.OnlineStructure):
    embed = CustomEmbed(title='**Топ по количеству голосов**',
                        author=EmbedAuthor(name='Excalibur-Craft Data',
                                           icon_url=images.EX_CRAFT_LOGO),
                        thumbnail_url=images.ONLINE_THUMBNAIL,
                        color=0xdbdbdb)
    for _player in data.players:
        embed.add_field(name=f'**{_player.nickname}**', value=_player.online)

    return embed
コード例 #2
0
def votes(data: structures.VoteStructure):
    embed = CustomEmbed(title='**Топ по количеству голосов**',
                        author=EmbedAuthor(name='Excalibur-Craft Data',
                                           icon_url=images.EX_CRAFT_LOGO),
                        thumbnail_url=images.VOTE_THUMBNAIL,
                        color=0xffb136)
    for _player in data.players:
        embed.add_field(name=f'**{_player.place} место**',
                        value=_player.nickname)

    return embed
コード例 #3
0
def monitoring(data: structures.MonitoringStructure):
    embed = CustomEmbed(title='**Мониторинг серверов**',
                        author=EmbedAuthor(name='Excalibur-Craft Data',
                                           icon_url=images.EX_CRAFT_LOGO),
                        thumbnail_url=images.MONITORING_THUMBNAIL,
                        fields=[
                            EmbedField(name='**Общий онлайн**',
                                       value=f'{data.total_online} игроков')
                        ])
    for server in data.servers:
        embed.add_field(name=f'**{server.name}**',
                        value=f'{server.online} игроков')

    return embed
コード例 #4
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def voice_channel_delete(channel: discord.VoiceChannel):
    return CustomEmbed(title='**Удаление голосового канала**',
                       color=colors.red,
                       fields=[
                           EmbedField(name='Название:', value=channel.name),
                           EmbedField(name='ID:', value=f'{channel.id}')
                       ])
コード例 #5
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def category_channel_delete(channel: discord.CategoryChannel):
    return CustomEmbed(title='**Удаление категории**',
                       color=colors.red,
                       fields=[
                           EmbedField(name='Название:', value=channel.name),
                           EmbedField(name='ID:', value=f'{channel.id}')
                       ])
コード例 #6
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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] != ' '
                       ]))
        ])
コード例 #7
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def text_channel_delete(channel: discord.TextChannel):
    return CustomEmbed(title='**Удаление текстового канала**',
                       color=colors.red,
                       fields=[
                           EmbedField(name='Канал:', value=f'<#{channel.id}>'),
                           EmbedField(name='Название:', value=channel.name)
                       ])
コード例 #8
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)')
        ])
コード例 #9
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def error(event, *args, **kwargs):
    return CustomEmbed(title='**Event raised an uncaught exception**',
                       fields=[
                           EmbedField(name='Event:', value=event),
                           EmbedField(name='Args:', value=f'{args}'),
                           EmbedField(name='Kwargs:', value=f'{kwargs}')
                       ],
                       color=colors.red)
コード例 #10
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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}')
        ])
コード例 #11
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def voice_state_update(member: discord.Member, state: str):
    return CustomEmbed(
        title='**Обновление голосового статуса**',
        thumbnail_url=member.avatar_url,
        fields=[
            EmbedField(
                name='Пользователь:',
                value=f'<@!{member.id}> | {member.name}#{member.discriminator}'
            ),
            EmbedField(name='Статус:', value=state)
        ])
コード例 #12
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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}'
            )
        ])
コード例 #13
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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)
        ])
コード例 #14
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def reaction_clear(message: discord.Message, reactions: [discord.Reaction]):
    return CustomEmbed(
        title='**Очистка реакций с сообщения**',
        color=colors.red,
        fields=[
            EmbedField(name='Канал:', value=f'<#{message.channel.id}>'),
            EmbedField(name='Сообщение:',
                       value=f'[Нажми на меня]({message.jump_url})'),
            EmbedField(name='Количество реакций:', value=f'{len(reactions)}'),
            EmbedField(name='Реакции:',
                       value=''.join(
                           [str(reaction.emoji) for reaction in reactions]))
        ])
コード例 #15
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def reaction_remove(user: discord.User, reaction: discord.Reaction):
    return CustomEmbed(
        title='**Удаление реакции с сообщения**',
        color=colors.red,
        thumbnail_url=user.avatar_url,
        fields=[
            EmbedField(
                name='Пользователь:',
                value=f'<@!{user.id}> | {user.name}#{user.discriminator}'),
            EmbedField(name='Канал:',
                       value=f'<#{reaction.message.channel.id}>'),
            EmbedField(name='Сообщение:',
                       value=f'[Нажми на меня]({reaction.message.jump_url})'),
            EmbedField(name='Реакция:', value=reaction.emoji)
        ])
コード例 #16
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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)
        ])
コード例 #17
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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}')
        ])
コード例 #18
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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}')
        ])
コード例 #19
0
def player(data: structures.PlayerStructure):
    return CustomEmbed(
        title=f'**Информация об игроке {data.nickname}**',
        author=EmbedAuthor(name='Excalibur-Craft Data',
                           icon_url=images.EX_CRAFT_LOGO),
        thumbnail_url=data.thumbnail,
        image_url=data.image_url,
        fields=[
            EmbedField(name='**Дата регистрации:**',
                       value=data.registration_date),
            EmbedField(name='**Часов в игре за месяц:**',
                       value=f'{data.monthly_online}'),
            EmbedField(name='**Часов в игре за все время:**',
                       value=f'{data.all_time_online}'),
            EmbedField(name='**Статус в игре:**', value=data.status),
            EmbedField(name='**Клан:**',
                       value=f'{data.clan}\n\n**Скин и плащ**',
                       inline=False) if data.has_cape else EmbedField(
                           name='**Клан:**', value=f'{data.clan}\n\n**Скин**')
        ])
コード例 #20
0
def clan(data: structures.ClanStructure):
    return CustomEmbed(title=f'**Информация о клане {data.name}**',
                       author=EmbedAuthor(name='Excalibur-Craft Data',
                                          icon_url=images.EX_CRAFT_LOGO),
                       thumbnail_url=data.thumbnail,
                       fields=[
                           EmbedField(name="**Девиз клана:**",
                                      value=data.motto),
                           EmbedField(name="**Место в топе:**",
                                      value=f'{data.top_place}'),
                           EmbedField(name="**Место в рейтинге:**",
                                      value=f'{data.rating_place}'),
                           EmbedField(name="**Голосов:**",
                                      value=f'{data.votes}'),
                           EmbedField(name="**Опыт:**",
                                      value=f'{data.experience}'),
                           EmbedField(name="**Игроков:**",
                                      value=f'{data.players}'),
                           EmbedField(name="**Средний онлайн за всё время:**",
                                      value=f'{data.all_time_online}'),
                           EmbedField(name="**Средний онлайн за месяц:**",
                                      value=f'{data.monthly_online}')
                       ])
コード例 #21
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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)])
コード例 #22
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def session_confirm_blocked():
    return CustomEmbed(
        title='**Session initialization blocked**',
        description=
        'A second attempt to initialize and authorize the session will be made after 30 minutes.',
        color=colors.red)
コード例 #23
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def session_confirm_failed():
    return CustomEmbed(title='**Session initialization failed**',
                       color=colors.red)
コード例 #24
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def session_confirm_success():
    return CustomEmbed(
        title='**Session initialization completed successfully**',
        color=colors.green)
コード例 #25
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def session_confirm_progress():
    return CustomEmbed(title='**Session initialization in progress**',
                       color=colors.yellow)
コード例 #26
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
def ready():
    return CustomEmbed(title='**Connection completed successfully**',
                       color=colors.green)
コード例 #27
0
def user_card(image_url):
	return CustomEmbed(title='**Статистика игрока:**', color=colors.yellow, image_url=image_url)
コード例 #28
0
def top_card(image_url):
	return CustomEmbed(title='**Топ игроков по активности:**', color=colors.yellow, image_url=image_url)
コード例 #29
0
_rank = CustomEmbed(
    title='**Speedwagon Support**',
    description='Информация по системе рангов',
    color=colors.green,
    thumbnail_url='https://i.imgur.com/TaaRJIY.png',
    fields=[
        EmbedField(
            name='**Что такое система рангов?**',
            value=
            'Система рангов - система, разработанная для клана BestLife, позволяюшая отслеживать и поощрать активность участников клана'
        ),
        EmbedField(
            name='**Как получать ранг?**',
            value=
            'Уровень (ранг) пользователя расчитывается, исходя из его месячного онлайна и количества внесенных за месяц голосов'
        ),
        EmbedField(
            name='**Что дает ранг?**',
            value=
            'Топ пользователей по рангу в конце месяца получает призы в Личный Кабинет, дополнительные роли и возможность создавать собственные'
        ),
        EmbedField(name='**Как узнать свой текущий ранг?**',
                   value='Команда **/rank**'),
        EmbedField(name='**Как узнать ранг другого игрока?**',
                   value='Команда **/rank <ник>**'),
        EmbedField(name='**Как узнать текущий топ по рангу?**',
                   value='Команда **/toprank**'),
        EmbedField(name='**Как вывести данное сообщение?**',
                   value='Команда **/help**'),
        EmbedField(
            name=
            '**Как включить / выключить оповещение о получении нового уровня?**',
            value='Команда **/notifications | /nots**')
    ])
コード例 #30
0
ファイル: log.py プロジェクト: Wedyarit/Speedwagon
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)])