예제 #1
0
 private async Task InviteCreated(DiscordClient c, InviteCreateEventArgs e)
 {
     Task.Run(async() =>
     {
         await logService.GuildLogger(c, e.Guild, e, LogType.Invite).ConfigureAwait(true);
         this.logger.Information($"Invite code '{e.Invite.Code}' has been created by '{e.Invite.Inviter.GetUsertag()}' ({e.Invite.Inviter.Id}) for '{e.Guild.Name}' ({e.Guild.Id}).");
     });
 }
예제 #2
0
        private async Task InviteCreated(DiscordClient sender, InviteCreateEventArgs e)
        {
            var invCreateEntry = await GetNewEntryAsync() as DiscordAuditLogInviteEntry;

            _entryBuilder = EmbedBuilderExtensions.CreateForAudit(invCreateEntry, "Создание приглашения");
            var invite = e.Invite;

            _entryBuilder.SetDescription("Создание приглашения " + invite.Code);
            if (invite.Channel != null)
            {
                _entryBuilder.AddField("Предназначен для: ", invite.Channel.Name);
            }

            _entryBuilder.AddField("Время истечения", (invite.MaxAge / 3600).ToString() + 'ч');

            _entryBuilder.AddField("Максимальное количество использований", invite.MaxUses.ToString());

            _entryBuilder.AddField("Членство только на время приглашения", invite.IsTemporary.ToString());

            await SendMessageToAuditAsync(embed : _entryBuilder);
        }
예제 #3
0
        public static async Task ClientOnInviteCreated(DiscordClient client, InviteCreateEventArgs e)
        {
            var guildInvites = await client.Guilds[Bot.BotSettings.Guild].GetInvitesAsync();

            Invites = guildInvites.ToList();
        }
예제 #4
0
 private Task Event_InviteCreated(DiscordClient d, InviteCreateEventArgs e)
 {
     d.Logger.LogDebug(BotEventId, "Event_InviteCreated.");
     return(Task.CompletedTask);
 }
예제 #5
0
        private static async Task InviteCreate(BaseDiscordClient client, Embed embed, InviteCreateEventArgs inviteCreateEventArgs)
        {
            embed.Title = $"{DiscordEmoji.FromGuildEmote(client, EmojiLibrary.New)} Invite created";
            var maxAge  = inviteCreateEventArgs.Invite.MaxAge == 0 ? "No limit" : $"{TimeSpan.FromSeconds(inviteCreateEventArgs.Invite.MaxAge).TotalHours}h";
            var maxUses = inviteCreateEventArgs.Invite.MaxUses == 0 ? "Unlimited" : inviteCreateEventArgs.Invite.MaxUses.ToString();

            embed.Description = new StringBuilder().AppendLine($"Code: {Formatter.InlineCode(inviteCreateEventArgs.Invite.Code)}")
                                .AppendLine($"{Formatter.InlineCode(inviteCreateEventArgs.Channel.Name)} {inviteCreateEventArgs.Channel.Mention}")
                                .AppendLine($"Identity: {Formatter.InlineCode(inviteCreateEventArgs.Channel.Id.ToString())}")
                                .AppendLine($"Temporary: {Formatter.InlineCode(inviteCreateEventArgs.Invite.IsTemporary.ToString())}")
                                .AppendLine($"Max age: {Formatter.InlineCode(maxAge)}")
                                .AppendLine($"Max uses: {Formatter.InlineCode(maxUses)}")
                                .ToString();

            var inviter            = inviteCreateEventArgs.Invite.Inviter;
            var inviterDescription = new StringBuilder().AppendLine($"Username: {Formatter.InlineCode(inviter.GetUsertag())} {inviter.Mention}")
                                     .AppendLine($"Identity: {Formatter.InlineCode(inviter.Id.ToString())}")
                                     .ToString();

            embed.Fields = new List <EmbedField> {
                new EmbedField {
                    Inline = false, Name = "Inviter", Value = inviterDescription
                }
            };
            embed.Color = DiscordColor.SpringGreen;
        }