Exemplo n.º 1
0
        public async Task SoftbanAsync(EventContext e)
        {
            List <string> arg        = e.arguments.Split(' ').ToList();
            IDiscordUser  bannedUser = null;

            if (e.message.MentionedUserIds.Count > 0)
            {
                bannedUser = await e.Guild.GetUserAsync(e.message.MentionedUserIds.First());
            }
            else
            {
                bannedUser = await e.Guild.GetUserAsync(ulong.Parse(e.arguments.Split(' ')[0]));
            }

            arg.RemoveAt(0);

            string reason = string.Join(" ", arg);

            IDiscordEmbed embed = Utils.Embed;

            embed.Title       = "⚠ SOFTBAN";
            embed.Description = $"You've been banned from **{e.Guild.Name}**!";

            if (!string.IsNullOrWhiteSpace(reason))
            {
                embed.AddField(f =>
                {
                    f.Name     = "💬 Reason";
                    f.Value    = reason;
                    f.IsInline = true;
                });
            }

            embed.AddField(f =>
            {
                f.Name     = "💁 Banned by";
                f.Value    = e.Author.Username + "#" + e.Author.Discriminator;
                f.IsInline = true;
            });

            await bannedUser.SendMessage(embed);

            await bannedUser.Ban(e.Guild);

            await bannedUser.Unban(e.Guild);
        }
Exemplo n.º 2
0
        public async Task SoftbanAsync(EventContext e)
        {
            if (e.Guild.CurrentUser.HasPermissions(e.Channel, DiscordGuildPermission.BanMembers))
            {
                List <string> arg        = e.arguments.Split(' ').ToList();
                IDiscordUser  bannedUser = null;

                if (e.message.MentionedUserIds.Count > 0)
                {
                    bannedUser = await e.Guild.GetUserAsync(e.message.MentionedUserIds.First());
                }
                else
                {
                    if (arg.Count > 0)
                    {
                        bannedUser = await e.Guild.GetUserAsync(ulong.Parse(arg[0]));
                    }
                }

                if (bannedUser == null)
                {
                    await e.ErrorEmbed(e.GetResource("ban_error_user_null"))
                    .SendToChannel(e.Channel);

                    return;
                }

                if (bannedUser.Hierarchy >= e.Guild.CurrentUser.Hierarchy)
                {
                    await e.ErrorEmbed(e.GetResource("permission_error_low"))
                    .SendToChannel(e.Channel);

                    return;
                }

                arg.RemoveAt(0);

                string reason = string.Join(" ", arg);

                IDiscordEmbed embed = Utils.Embed;
                embed.Title       = "⚠ SOFTBAN";
                embed.Description = $"You've been banned from **{e.Guild.Name}**!";

                if (!string.IsNullOrWhiteSpace(reason))
                {
                    embed.AddInlineField("💬 Reason", reason);
                }

                embed.AddInlineField("💁 Banned by", e.Author.Username + "#" + e.Author.Discriminator);

                await bannedUser.SendMessage(embed);

                await bannedUser.Ban(e.Guild, 1, reason);

                await bannedUser.Unban(e.Guild);
            }
            else
            {
                await e.ErrorEmbed(e.GetResource("permission_needed_error", $"`{e.GetResource("permission_ban_members")}`"))
                .SendToChannel(e.Channel);
            }
        }
Exemplo n.º 3
0
        public async Task BanAsync(EventContext e)
        {
            if (e.Guild.CurrentUser.HasPermissions(e.Channel, DiscordGuildPermission.BanMembers))
            {
                List <string> arg        = e.arguments.Split(' ').ToList();
                IDiscordUser  bannedUser = null;

                if (e.message.MentionedUserIds.Count > 0)
                {
                    bannedUser = await e.Guild.GetUserAsync(e.message.MentionedUserIds.First());

                    arg.RemoveAll(x => x.Contains(e.message.MentionedUserIds.First().ToString()));
                }
                else
                {
                    if (arg.Count > 0)
                    {
                        bannedUser = await e.Guild.GetUserAsync(ulong.Parse(arg[0]));

                        arg.RemoveAt(0);
                    }
                }

                if (bannedUser == null)
                {
                    await e.ErrorEmbed(e.GetResource("ban_error_user_null"))
                    .SendToChannel(e.Channel);

                    return;
                }

                if (bannedUser.Hierarchy >= e.Guild.CurrentUser.Hierarchy)
                {
                    await e.ErrorEmbed(e.GetResource("permission_error_low", "ban"))
                    .SendToChannel(e.Channel);

                    return;
                }

                string reason = string.Join(" ", arg);

                IDiscordEmbed embed = Utils.Embed;
                embed.Title       = "🛑 BAN";
                embed.Description = e.GetResource("ban_header", $"**{e.Guild.Name}**");

                if (!string.IsNullOrWhiteSpace(reason))
                {
                    embed.AddInlineField($"💬 {e.GetResource("miki_module_admin_kick_reason")}", reason);
                }

                embed.AddInlineField($"💁 {e.GetResource("miki_module_admin_kick_by")}", e.Author.Username + "#" + e.Author.Discriminator);

                await bannedUser.SendMessage(embed);

                await bannedUser.Ban(e.Guild, 1, reason);
            }
            else
            {
                await e.ErrorEmbed(e.GetResource("permission_needed_error", $"`{e.GetResource("permission_ban_members")}`"))
                .SendToChannel(e.Channel);
            }
        }