Esempio n. 1
0
        public async Task GiveStickUp()
        {
            if (Context.IsPrivate == true)
            {
                return;
            }
            if (Context.Channel.Id != ChannelIds.channels.debateTCID)
            {
                await ReplyAsync("Please use the command in the Debate text channel thank you.");

                return;
            }
            var guild = GuildAccounts.GetAccount(Context.Guild);

            if (guild.DebateRunning == false)
            {
                return;
            }
            var             self            = Context.User;
            var             currentHolderId = guild.StickHolderId;
            SocketGuildUser holder          = Global.Client.GetGuild(Config.bot.guildID).GetUser(currentHolderId);

            if (holder != Context.User)
            {
                return;
            }
            var deny         = new OverwritePermissions(speak: PermValue.Deny, connect: PermValue.Allow);
            var voiceChannel = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
            await voiceChannel.RemovePermissionOverwriteAsync(self);

            guild.StickHolderId = 0;
            GuildAccounts.SaveAccounts();
            await Context.Channel.SendMessageAsync($"{self} gave up the stick! Quick grab it!");
        }
Esempio n. 2
0
        private static async Task CheckEventTime()
        {
            var eventChannel = Global.Client.GetGuild(Config.bot.guildID).GetTextChannel(ChannelIds.channels.eventID);
            var guild        = GuildAccounts.GetAccount(Global.Client.GetGuild(Config.bot.guildID));

            if (guild.GuildEvent1Running == true)
            {
                await GuildEventOne();
            }
            if (guild.GuildEvent2Running == true)
            {
                await GuildEventTwo();
            }
            if (guild.TownEvent1Running == true)
            {
                await TownEventOne();
            }
            if (guild.TownEvent2Running == true)
            {
                await TownEventTwo();
            }
            if (guild.GroupEventRunning == true)
            {
                await GroupEvent();
            }
        }
Esempio n. 3
0
        private static async Task GuildEventTwo()
        {
            var guild        = GuildAccounts.GetAccount(Global.Client.GetGuild(Config.bot.guildID));
            var eventChannel = Global.Client.GetGuild(Config.bot.guildID).GetTextChannel(ChannelIds.channels.eventID);
            var difference   = guild.GuildEvent2Time - DateTime.Now;

            if (guild.GuildEvent2HourWarning == false && difference.TotalHours <= 1)
            {
                guild.GuildEvent2HourWarning = true;
                GuildAccounts.SaveAccounts();
                await eventChannel.SendMessageAsync($"Guild Event {guild.GuildEvent2Name} is starting in 1 hour!");
            }
            if (guild.GuildEvent2TenMinuteWarning == false && difference.TotalMinutes <= 10)
            {
                guild.GuildEvent2HourWarning = true;
                GuildAccounts.SaveAccounts();
                await eventChannel.SendMessageAsync($"Guild Event {guild.GuildEvent2Name} is starting in 10 minutes!");
            }
            if (difference.TotalSeconds <= 2)
            {
                guild.GuildEvent2Running = false;
                GuildAccounts.SaveAccounts();
                await eventChannel.SendMessageAsync($"Guild Event {guild.GuildEvent2Name} is now starting!");
            }
        }
        public async Task CloseDebate()
        {
            if (!RoleCheck.HasInvestmentStaffRole((SocketGuildUser)Context.User) || !RoleCheck.HasChiefRole((SocketGuildUser)Context.User) || Context.User.Id != Context.Guild.Owner.Id)
            {
                return;
            }
            var guild        = GuildAccounts.GetAccount(Context.Guild);
            var voiceChannel = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
            var textChannel  = Context.Guild.GetTextChannel(ChannelIds.channels.debateTCID);

            if (guild.StickHolderId != 0)
            {
                var             currentHolderId = guild.StickHolderId;
                SocketGuildUser holder          = Global.Client.GetGuild(Config.bot.guildID).GetUser(currentHolderId);
                await voiceChannel.RemovePermissionOverwriteAsync(holder);

                guild.StickHolderId = 0;
                GuildAccounts.SaveAccounts();
            }
            //var currentHolderID =  guild.StickHolderId;
            var deny  = new OverwritePermissions(speak: PermValue.Deny, connect: PermValue.Deny, readMessageHistory: PermValue.Deny);
            var tDeny = new OverwritePermissions(connect: PermValue.Deny, readMessageHistory: PermValue.Deny, sendMessages: PermValue.Deny);
            await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), deny);

            await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), deny);

            await textChannel.AddPermissionOverwriteAsync(Context.Guild.EveryoneRole, tDeny);

            await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), tDeny);

            await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), tDeny);

            guild.DebateRunning = false;
            GuildAccounts.SaveAccounts();
        }
        public async Task PlayAsync([Remainder] string song = "")
        {
            Utilities utilities    = new Utilities(Context.Guild);
            var       guildAccount = GuildAccounts.GetGuildAccount(Context.Guild);
            string    avatar       = Context.Message.Author.GetAvatarUrl() ?? Context.Message.Author.GetDefaultAvatarUrl();
            int       choose       = -1;

            if (!song.Contains(".com") && song != "")
            {
                if ((Context.User as IVoiceState).VoiceChannel == null)
                {
                    await ReplyAsync(Utilities.GetAlert("PLAY_NULL_CHANNEL"));

                    return;
                }

                var          searchList   = AudioService.GetYoutubeAsync(song, Context.Guild.Id, (Context.User as IVoiceState).VoiceChannel);
                var          searchResult = searchList.Items[0];
                YoutubeVideo video        = new YoutubeVideo();
                video.SetInfoVideo(Context.Guild, searchResult.Snippet.Description, searchResult.Snippet.Thumbnails.High.Url,
                                   searchResult.Id.VideoId, searchResult.Snippet.Title);
                choose = 0;
                song   = $"https://www.youtube.com/watch?v={video.link[choose]}";

                await AudioService.PlayAsync(Context, song, choose, video);

                return;
            }

            await AudioService.PlayAsync(Context, song, 0);
        }
Esempio n. 6
0
        public async Task Invitation()
        {
            try
            {
                var client       = Context.Client as DiscordSocketClient;
                var guild        = client.GetGuild(448884032391086090);
                var GuildAccount = GuildAccounts.GetAccount(guild);

                var dmChannel = await Context.User.GetOrCreateDMChannelAsync();

                if (Context.Channel is IPrivateChannel)
                {
                    await dmChannel.SendMessageAsync($"🔗 Proszę, oto link do naszego serwera 🔗\n{GuildAccount.InviteLink}");
                }
                else
                {
                    await Context.Channel.SendMessageAsync($"{Messages.check} {Context.User.Mention}, wysłano link w wiadomości prywatnej.");

                    await dmChannel.SendMessageAsync($"🔗 Proszę, oto link do naszego serwera 🔗\n{GuildAccount.InviteLink}");
                }
            }
            catch
            {
                await ReplyAsync(Messages.UnknownError);
            }
        }
Esempio n. 7
0
            public async Task SetPrefixAsync([Remainder] string prefix = "")
            {
                Utilities utilities = new Utilities(Context.Guild);
                string    avatar    = Context.Message.Author.GetAvatarUrl() ?? Context.Message.Author.GetDefaultAvatarUrl();

                if (prefix.Length > 12)
                {
                    await ReplyAsync(Utilities.GetAlert("PREFIX_ERROR_CHARS"));

                    return;
                }

                var guildAccount = GuildAccounts.GetGuildAccount(Context.Guild);

                guildAccount.Prefix = prefix;
                GuildAccounts.SaveGuilds();

                EmbedBuilder builder = new EmbedBuilder();

                builder
                .WithAuthor(Context.Message.Author.Username, avatar)
                .WithDescription(Utilities.GetFormattedAlert("PREFIX_CHANGED", prefix));

                await ReplyAsync("", false, builder.Build());
            }
Esempio n. 8
0
        public async Task SetGuildEvent(DateTime date, int hour, int minute, [Remainder] string name)
        {
            var guild = GuildAccounts.GetAccount(Context.Guild);

            if (guild.GuildEvent1Running == false)
            {
                guild.GuildEvent1Name             = name;
                guild.GuildEvent1Running          = true;
                guild.GuildEvent1HourWarning      = false;
                guild.GuildEvent1TenMinuteWarning = false;
                guild.GuildEvent1Time             = new DateTime(date.Year, date.Month, date.Day, hour, minute, 0);
            }
            else if (guild.GuildEvent2Running == false)
            {
                guild.GuildEvent2Name             = name;
                guild.GuildEvent2Running          = true;
                guild.GuildEvent2HourWarning      = false;
                guild.GuildEvent2TenMinuteWarning = false;
                guild.GuildEvent2Time             = new DateTime(date.Year, date.Month, date.Day, hour, minute, 0);
            }
            else
            {
                await ReplyAsync("Error 404: Two Guild Events are already set.");
            }
        }
Esempio n. 9
0
        public static async Task CountingChannel(SocketMessage msg)
        {
            if (msg.Channel is IPrivateChannel)
            {
                return;
            }

            var channel      = msg.Channel as IGuildChannel;
            var Guild        = channel.Guild as SocketGuild;
            var GuildAccount = GuildAccounts.GetAccount(Guild);

            ulong CountingChannelID = GuildAccount.CountingChannelID;

            if (msg.Channel.Id == CountingChannelID)
            {
                if (msg.Author.IsBot)
                {
                    return;
                }

                var CountingChannel = Guild.GetChannel(CountingChannelID) as IMessageChannel;

                if (!msg.Content.Any(Char.IsDigit))
                {
                    await msg.DeleteAsync();

                    var InfoMsg = await CountingChannel.SendMessageAsync("Na tym kanale można wysyłać tylko liczby.");

                    await Helpers.RemoveMessage(InfoMsg);
                }
            }
        }
Esempio n. 10
0
        public async Task TakeStick()
        {
            if (Context.IsPrivate == true)
            {
                return;
            }
            if (Context.Channel.Id != ChannelIds.channels.debateTCID)
            {
                await ReplyAsync("Please use the command in the Debate text channel thank you.");

                return;
            }
            var             guild           = GuildAccounts.GetAccount(Context.Guild);
            var             currentHolderId = guild.StickHolderId;
            SocketGuildUser holder          = Global.Client.GetGuild(Config.bot.guildID).GetUser(currentHolderId);

            if (guild.DebateRunning == true && guild.StickHolderId == 0)
            {
                var self         = Context.User as SocketGuildUser;
                var allow        = new OverwritePermissions(speak: PermValue.Allow, connect: PermValue.Allow);
                var voiceChannel = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
                await voiceChannel.AddPermissionOverwriteAsync(self, allow);

                guild.StickHolderId = self.Id;
                GuildAccounts.SaveAccounts();
                await Context.Channel.SendMessageAsync($"{self} got the stick!");
            }
            else
            {
                await Context.Channel.SendMessageAsync($"{Context.User}: Either the debate period is over or the stick is in someone elses hands.");
            }
        }
        public async Task GiveStick(SocketGuildUser user)
        {
            if (!RoleCheck.HasInvestmentStaffRole((SocketGuildUser)Context.User) || !RoleCheck.HasChiefRole((SocketGuildUser)Context.User) || Context.User.Id != Context.Guild.Owner.Id)
            {
                return;
            }
            var guild = GuildAccounts.GetAccount(Context.Guild);

            if (guild.DebateRunning == false)
            {
                await ReplyAsync("The debate is not running.");

                return;
            }
            var             currentHolderId = guild.StickHolderId;
            SocketGuildUser holder          = Global.Client.GetGuild(Config.bot.guildID).GetUser(currentHolderId);
            var             voiceChannel    = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
            await voiceChannel.RemovePermissionOverwriteAsync(holder);

            var allow = new OverwritePermissions(speak: PermValue.Allow, connect: PermValue.Allow, viewChannel: PermValue.Allow);
            await voiceChannel.AddPermissionOverwriteAsync(user, allow);

            guild.StickHolderId = user.Id;
            GuildAccounts.SaveAccounts();
        }
Esempio n. 12
0
        public async Task SetInfo()
        {
            var guild = Guild_Accounts.GuildAccounts.GetAccount(Context.Guild);

            guild.DayChecked = DateTime.Now;
            GuildAccounts.SaveAccounts();
            await ReplyAsync($"Guild's random post time is now set. Time: {GuildAccounts.GetAccount(Context.Guild).DayChecked}");
        }
Esempio n. 13
0
        public static async Task TransferMoney(IGuild guild, ISocketMessageChannel channel, IMessage message, IGuildUser UserGivingMoney, IGuildUser UserReceivingMoney, ulong MoneyToTransfer)
        {
            await message.DeleteAsync();

            //Variables
            var   GuildAccount  = GuildAccounts.GetAccount(guild);
            var   ContextGuild  = guild as SocketGuild;
            ulong BankChannelID = GuildAccount.BankChannelID;
            var   BankChannel   = ContextGuild.GetChannel(BankChannelID) as IMessageChannel;

            //Checking if user doing command on specified channel
            if (channel.Id != BankChannelID)
            {
                var ErrorMessage = await channel.SendMessageAsync(Messages.EconomyTransferCommandOnlyInBank(ContextGuild, BankChannelID));

                await Helpers.RemoveMessage(ErrorMessage);

                return;
            }
            //Transfer
            if (UserGivingMoney == UserReceivingMoney)//Error - user tried to give money himself
            {
                var ErrorMessage = await channel.SendMessageAsync(Messages.EconomyTransferCantGiveYourself);

                await Helpers.RemoveMessage(ErrorMessage);
            }
            else if (UserGivingMoney.IsBot)//Error - user is bot
            {
                var ErrorMessage = await channel.SendMessageAsync(Messages.EconomyTransferCantGiveBot);

                await Helpers.RemoveMessage(ErrorMessage);
            }
            else//Success - One more check
            {
                var   UserGivingMoneyAccount    = UserAccounts.GetAccount((SocketUser)UserGivingMoney);
                var   UserReceivingMoneyAccount = UserAccounts.GetAccount((SocketUser)UserReceivingMoney);
                ulong MoneyBalanceGiver         = UserGivingMoneyAccount.MoneyWallet;
                if (MoneyBalanceGiver < MoneyToTransfer)//Checking if user can afford this deal
                {
                    var ErrorMessage = await channel.SendMessageAsync(Messages.EconomyTransferNotEnoughMoney);

                    await Helpers.RemoveMessage(ErrorMessage);

                    return;
                }
                else//If so, deal is completed
                {
                    UserGivingMoneyAccount.MoneyWallet     -= MoneyToTransfer;
                    UserReceivingMoneyAccount.MoneyAccount += MoneyToTransfer;

                    var SuccessMessage = await channel.SendMessageAsync(Messages.EconomyTransferCompleted(MoneyToTransfer, UserGivingMoney, UserReceivingMoney));

                    await Helpers.RemoveMessage(SuccessMessage);
                }
                UserAccounts.SaveAccounts();
            }
        }
Esempio n. 14
0
        public static async Task DailyCommandErrorMessage(IGuild guild, ISocketMessageChannel channel)
        {
            var   GuildAccount  = GuildAccounts.GetAccount(guild);
            ulong BankChannelID = GuildAccount.BankChannelID;

            var ErrorMessage = await channel.SendMessageAsync(Messages.EconomyDailyCommandError(guild, BankChannelID));

            await Helpers.RemoveMessage(ErrorMessage);
        }
Esempio n. 15
0
        public static async Task MemesChannel(SocketMessage msg)
        {
            if (msg.Channel is IPrivateChannel)
            {
                return;
            }

            var channel      = msg.Channel as IGuildChannel;
            var Guild        = channel.Guild as SocketGuild;
            var GuildAccount = GuildAccounts.GetAccount(Guild);

            ulong MemesChannelID = GuildAccount.MemesChannelID;

            if (msg.Channel.Id == MemesChannelID)
            {
                if (msg.Author.IsBot)
                {
                    return;
                }

                var MemesChannel = Guild.GetChannel(MemesChannelID) as IMessageChannel;

                if (!msg.Attachments.Any())
                {
                    await msg.DeleteAsync();

                    var InfoMsg = await MemesChannel.SendMessageAsync($"{Messages.wrong} Na tym kanale można wysyłać tylko obrazki.");

                    await Helpers.RemoveMessage(InfoMsg);
                }
                else
                {
                    var attachments = msg.Attachments;
                    foreach (var attachment in attachments)
                    {
                        if (attachment.Filename.EndsWith(".jpg") || attachment.Filename.EndsWith(".jpeg") || attachment.Filename.EndsWith(".png") || attachment.Filename.EndsWith(".gif") || attachment.Filename.EndsWith(".bmp"))
                        {
                            var like        = new Emoji("👍");
                            var dislike     = new Emoji("👎");
                            var MemeMessage = msg as IUserMessage;
                            await MemeMessage.AddReactionAsync(like);

                            await MemeMessage.AddReactionAsync(dislike);
                        }
                        else
                        {
                            await msg.DeleteAsync();

                            var InfoMsg = await MemesChannel.SendMessageAsync($"{Messages.wrong} Na tym kanale nie można wysyłać innych plików niż obrazki.");

                            await Helpers.RemoveMessage(InfoMsg);
                        }
                    }
                }
            }
        }
        public async Task OpenDebate(string target = "guild")
        {
            if (!RoleCheck.HasInvestmentStaffRole((SocketGuildUser)Context.User) || !RoleCheck.HasChiefRole((SocketGuildUser)Context.User) || Context.User.Id != Context.Guild.Owner.Id)
            {
                return;
            }
            var vAllow       = new OverwritePermissions(speak: PermValue.Deny, connect: PermValue.Allow, readMessageHistory: PermValue.Allow);
            var vDeny        = new OverwritePermissions(speak: PermValue.Deny, connect: PermValue.Deny, readMessageHistory: PermValue.Deny);
            var tAllow       = new OverwritePermissions(connect: PermValue.Allow, readMessageHistory: PermValue.Allow, sendMessages: PermValue.Allow);
            var tDeny        = new OverwritePermissions(connect: PermValue.Deny, readMessageHistory: PermValue.Deny, sendMessages: PermValue.Deny);
            var voiceChannel = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
            var textChannel  = Context.Guild.GetTextChannel(ChannelIds.channels.debateTCID);

            if (target == "guild")
            {
                await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), vAllow);

                await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), tAllow);
            }
            if (target == "town")
            {
                await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), vAllow);

                await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), tAllow);
            }
            if (target == "all")
            {
                await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), vAllow);

                await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), tAllow);

                await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), vAllow);

                await textChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.townMemberID), tAllow);
            }
            await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.GetRole(RoleIds.roles.guildMemberID), vAllow);

            await voiceChannel.AddPermissionOverwriteAsync(Context.Guild.EveryoneRole, vDeny);

            await textChannel.AddPermissionOverwriteAsync(Context.Guild.EveryoneRole, tDeny);

            var guild = GuildAccounts.GetAccount(Context.Guild);

            Console.WriteLine(guild);
            guild.StickHolderId = 0;
            guild.DebateRunning = true;
            GuildAccounts.SaveAccounts();
            await Context.Channel.SendMessageAsync("Guild stick holder id: " + guild.StickHolderId);

            await Context.Channel.SendMessageAsync("Debate running: " + guild.DebateRunning);

            GuildAccounts.SaveAccounts();
            await Context.Channel.SendMessageAsync("Both debate channels should be open.");
        }
Esempio n. 17
0
        public static async Task Demote(IGuild guild, IMessage message, IRole role, IGuildUser demoteuser, IGuildUser administrator, [Remainder] string reason)
        {
            await message.DeleteAsync();

            //Variables
            string TimeDate         = Global.TimeDate;
            var    UserAccount      = UserAccounts.GetAccount((SocketUser)demoteuser);
            var    GuildAccount     = GuildAccounts.GetAccount(guild);
            var    ContextGuild     = guild as SocketGuild;
            ulong  PenaltyChannelID = GuildAccount.PenaltyChannelID;
            var    PenaltyChannel   = ContextGuild.GetChannel(PenaltyChannelID) as IMessageChannel;

            var RoleAdm           = guild.Roles.FirstOrDefault(x => x.Id == 517062140612313089);
            var RoleStazysta      = guild.Roles.FirstOrDefault(x => x.Name == "STAŻYSTA");
            var RolePomocnik      = guild.Roles.FirstOrDefault(x => x.Name == "POMOCNIK");
            var RolePomocnikPlus  = guild.Roles.FirstOrDefault(x => x.Name == "POMOCNIK+");
            var RoleModerator     = guild.Roles.FirstOrDefault(x => x.Name == "MODERATOR");
            var RoleAdministrator = guild.Roles.FirstOrDefault(x => x.Name == "ADMIN");
            var RoleOwner         = guild.Roles.FirstOrDefault(x => x.Name == "WŁAŚCICIEL");

            var SocketGuildAdministrator = (SocketGuildUser)administrator;

            //pomocnik
            if (SocketGuildAdministrator.Roles.Contains(RolePomocnik) && (role == RoleStazysta || role == RolePomocnik || role == RolePomocnikPlus || role == RoleModerator || role == RoleAdministrator || role == RoleOwner))
            {
                return;
            }
            //pomocnik plus
            if (SocketGuildAdministrator.Roles.Contains(RolePomocnikPlus) && (role == RoleStazysta || role == RolePomocnik || role == RolePomocnikPlus || role == RoleModerator || role == RoleAdministrator || role == RoleOwner))
            {
                return;
            }
            //moderator
            if (SocketGuildAdministrator.Roles.Contains(RoleModerator) && (role == RolePomocnik || role == RolePomocnikPlus || role == RoleModerator || role == RoleAdministrator || role == RoleOwner))
            {
                return;
            }
            //administrator
            if (SocketGuildAdministrator.Roles.Contains(RoleAdministrator) && (role == RoleModerator || role == RoleAdministrator || role == RoleOwner))
            {
                return;
            }

            //Demote user
            await demoteuser.RemoveRoleAsync(role);

            if (role == RoleStazysta || role == RolePomocnik || role == RolePomocnikPlus || role == RoleModerator || role == RoleAdministrator)
            {
                await demoteuser.RemoveRoleAsync(RoleAdm);
            }
            //Send message
            await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateDemoteEmbed(demoteuser, administrator, role, TimeDate, reason));
        }
Esempio n. 18
0
        public static async Task Warn(IGuild guild, IMessage message, IGuildUser warneduser, IUser administrator, [Remainder] string reason)
        {
            await message.DeleteAsync();

            //Variables
            string TimeByDate       = Global.TimeDate;
            var    UserAccount      = UserAccounts.GetAccount((SocketUser)warneduser);
            var    GuildAccount     = GuildAccounts.GetAccount(guild);
            var    ContextGuild     = guild as SocketGuild;
            ulong  PenaltyChannelID = GuildAccount.PenaltyChannelID;
            var    PenaltyChannel   = ContextGuild.GetChannel(PenaltyChannelID) as IMessageChannel;
            string WarnNumberString;

            //Giving warn to user and saveing accounts
            UserAccount.Warns++;
            UserAccounts.SaveAccounts();

            if (UserAccount.Warns >= 6)
            {
                await warneduser.Guild.AddBanAsync(warneduser, 5);

                WarnNumberString = "6 na 5 - banicja";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
            else if (UserAccount.Warns == 5)
            {
                await warneduser.KickAsync();

                WarnNumberString = "5 na 5 - wyrzucenie";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
            else if (UserAccount.Warns == 4)
            {
                WarnNumberString = "4 na 5";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
            else if (UserAccount.Warns == 3)
            {
                WarnNumberString = "3 na 5";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
            else if (UserAccount.Warns == 2)
            {
                WarnNumberString = "2 na 5";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
            else if (UserAccount.Warns == 1)
            {
                WarnNumberString = "1 na 5";
                await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateWarnEmbed(warneduser, administrator, TimeByDate, WarnNumberString, reason));
            }
        }
Esempio n. 19
0
        public async Task ListEventsAdmin(string type)
        {
            var eventChannel = Global.Client.GetGuild(Config.bot.guildID).GetTextChannel(ChannelIds.channels.eventID);
            var guild        = GuildAccounts.GetAccount(Global.Client.GetGuild(Config.bot.guildID));
            var guild1       = new EmbedBuilder();
            var guild2       = new EmbedBuilder();
            var town1        = new EmbedBuilder();
            var town2        = new EmbedBuilder();
            var group        = new EmbedBuilder();

            if (type == "town")
            {
                if (guild.TownEvent1Running == true)
                {
                    town1.WithTitle($"**Town Event: {guild.TownEvent1Name}**")
                    .WithDescription($"Date: {guild.TownEvent1Time.Date} at {guild.TownEvent1Time.TimeOfDay}");
                    await eventChannel.SendMessageAsync("", false, town1.Build());
                }
                if (guild.TownEvent2Running == true)
                {
                    town2.WithTitle($"**Town Event: {guild.TownEvent2Name}**")
                    .WithDescription($"Date: {guild.TownEvent2Time.Date} at {guild.TownEvent2Time.TimeOfDay}");
                    await eventChannel.SendMessageAsync("", false, town2.Build());
                }
                return;
            }
            else if (type == "guild")
            {
                if (guild.GuildEvent1Running == true)
                {
                    guild1.WithTitle($"**Town Event: {guild.TownEvent1Name}**")
                    .WithDescription($"Date: {guild.TownEvent1Time.Date} at {guild.TownEvent1Time.TimeOfDay}");
                    await eventChannel.SendMessageAsync("", false, guild1.Build());
                }
                if (guild.GuildEvent2Running == true)
                {
                    guild2.WithTitle($"**Town Event: {guild.TownEvent2Name}**")
                    .WithDescription($"Date: {guild.TownEvent2Time.Date} at {guild.TownEvent2Time.TimeOfDay}");
                    await eventChannel.SendMessageAsync("", false, guild2.Build());
                }
            }
            else if (type == "group")
            {
                if (guild.GroupEventRunning == true)
                {
                    group.WithTitle($"**Town Event: {guild.TownEvent2Name}**")
                    .WithDescription($"Date: {guild.TownEvent2Time.Date} at {guild.TownEvent2Time.TimeOfDay}");
                    await eventChannel.SendMessageAsync("", false, group.Build());
                }
            }
        }
Esempio n. 20
0
            public async Task ShowPrefixAsync()
            {
                Utilities utilities    = new Utilities(Context.Guild);
                string    avatar       = Context.Message.Author.GetAvatarUrl() ?? Context.Message.Author.GetDefaultAvatarUrl();
                var       guildAccount = GuildAccounts.GetGuildAccount(Context.Guild);

                EmbedBuilder builder = new EmbedBuilder();

                builder
                .WithAuthor(Context.Message.Author.Username, avatar)
                .WithDescription(Utilities.GetFormattedAlert("PREFIX_INFO", Config.bot.cmdPrefix, guildAccount.Prefix));

                await ReplyAsync("", false, builder.Build());
            }
Esempio n. 21
0
        public async Task Application([Remainder] string podanie)
        {
            var client       = Context.Client as DiscordSocketClient;
            var guild        = client.GetGuild(448884032391086090);
            var GuildAccount = GuildAccounts.GetAccount(guild);

            if (GuildAccount.Rekrutacja == false)
            {
                await ReplyAsync($"{Messages.wrong} Aktualnie nie trwa rekrutacja.");
            }
            else
            {
                try
                {
                    var dmChannel = await Context.User.GetOrCreateDMChannelAsync();

                    var admChannel = guild.GetChannel(GuildAccount.AdmChannelID) as ITextChannel;
                    var nie        = Emote.Parse(Messages.wrong);
                    var tak        = Emote.Parse(Messages.check);

                    if (Context.Channel is IPrivateChannel)
                    {
                        EmbedBuilder eb = new EmbedBuilder();
                        eb.WithAuthor(Context.User.Username);
                        eb.Author.WithIconUrl(Context.User.GetAvatarUrl());
                        eb.WithTitle("Podanie");
                        eb.WithDescription(podanie);
                        eb.WithColor(Color.Blue);
                        eb.WithCurrentTimestamp();
                        var msg = await admChannel.SendMessageAsync("", false, eb.Build());

                        await msg.AddReactionAsync(tak);

                        await msg.AddReactionAsync(nie);

                        await dmChannel.SendMessageAsync($"{Messages.check} Podanie zostało dostarczone do administracji. Jeśli uda Ci się przejść do kolejnego etapu ktoś z administracji Cię poinformuje.");
                    }
                    else
                    {
                        await Context.Channel.SendMessageAsync("Napisz swoje podanie pod komendą `!podanie [treść]` w wiadomości prywatnej do bota.\n**Nie pisz podań do członków administracji!**");

                        await dmChannel.SendMessageAsync("`!podanie [treść]` aby napisać podanie :)");
                    }
                }
                catch
                {
                    await ReplyAsync(Messages.UnknownError);
                }
            }
        }
Esempio n. 22
0
        public async Task Suggestion([Remainder] string propozycja)
        {
            try
            {
                var client       = Context.Client as DiscordSocketClient;
                var guild        = client.GetGuild(448884032391086090);
                var GuildAccount = GuildAccounts.GetAccount(guild);

                var dmChannel = await Context.User.GetOrCreateDMChannelAsync();

                var sugChannel = guild.GetChannel(GuildAccount.SuggestionsChannelID) as ITextChannel;
                var admChannel = guild.GetChannel(GuildAccount.AdmChannelID) as ITextChannel;

                var nie = Emote.Parse(Messages.wrong);
                var ok  = new Emoji("🆗");

                if (Context.Channel is IPrivateChannel)
                {
                    //Building and sending message
                    EmbedBuilder eb = new EmbedBuilder();
                    eb.WithAuthor(Context.User.Username);
                    eb.Author.WithIconUrl(Context.User.GetAvatarUrl());
                    eb.WithTitle("Propozycja");
                    eb.WithDescription(propozycja);
                    eb.WithColor(Color.Green);
                    eb.WithCurrentTimestamp();
                    var msg = await admChannel.SendMessageAsync("", false, eb.Build());

                    await msg.AddReactionAsync(nie);

                    await msg.AddReactionAsync(ok);

                    //Response
                    await dmChannel.SendMessageAsync($"{Messages.check} Propozycja została wysłana pomyślnie.");
                }
                else
                {
                    await Context.Channel.SendMessageAsync($"{Messages.wrong}Swoją propozycję napisz w wiadomości prywatnej.");

                    await dmChannel.SendMessageAsync("`!propozycja [treść]` aby napisać propozycje :)");
                }
            }
            catch
            {
                await ReplyAsync(Messages.UnknownError);
            }
        }
Esempio n. 23
0
        public static async Task Announcment(IGuild guild, IMessage message, IGuildUser user, string content)
        {
            await message.DeleteAsync();

            var   GuildAccount = GuildAccounts.GetAccount(guild);
            var   ContextGuild = guild as SocketGuild;
            ulong AnnChannelID = GuildAccount.AnnouncmentChannelID;
            var   AnnChannel   = ContextGuild.GetChannel(AnnChannelID) as IMessageChannel;

            EmbedBuilder eb = new EmbedBuilder();

            eb.WithAuthor($"OGŁOSZENIE");
            eb.Author.WithIconUrl("http://www.wsbedu.eu/wp-content/uploads/2017/05/bhp.png");
            eb.WithDescription(content);
            eb.WithColor(new Color(250, 166, 26));
            await AnnChannel.SendMessageAsync("@everyone", false, eb.Build());
        }
        public async Task DebateInfo()
        {
            if (!RoleCheck.HasInvestmentStaffRole((SocketGuildUser)Context.User) || !RoleCheck.HasChiefRole((SocketGuildUser)Context.User) || Context.User.Id != Context.Guild.Owner.Id)
            {
                return;
            }
            var             guild           = GuildAccounts.GetAccount(Context.Guild);
            var             currentHolderId = guild.StickHolderId;
            SocketGuildUser holder          = Global.Client.GetGuild(Config.bot.guildID).GetUser(currentHolderId);
            var             embed           = new EmbedBuilder();

            embed.WithTitle("Current Debate Info")
            .AddField("Person holding the stick:", holder.Username + "or" + holder.Nickname)
            .AddField("ID set for who is holding the stick:", guild.StickHolderId)
            .AddField("Debate is running:", guild.DebateRunning);
            await ReplyAsync("", false, embed.Build());
        }
Esempio n. 25
0
        public static async Task Ban(IGuild guild, IMessage message, IGuildUser banuser, IGuildUser administrator, [Remainder] string reason)
        {
            await message.DeleteAsync();

            //Variables
            string TimeByDate       = Global.TimeDate;
            var    UserAccount      = UserAccounts.GetAccount((SocketUser)banuser);
            var    GuildAccount     = GuildAccounts.GetAccount(guild);
            var    ContextGuild     = guild as SocketGuild;
            ulong  PenaltyChannelID = GuildAccount.PenaltyChannelID;
            var    PenaltyChannel   = ContextGuild.GetChannel(PenaltyChannelID) as IMessageChannel;
            //Ban user
            await banuser.Guild.AddBanAsync(banuser, 5, reason);

            //Send message
            await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateBanEmbed(banuser, administrator, TimeByDate, reason));
        }
Esempio n. 26
0
            public async Task LanguageAsync()
            {
                Utilities utilities    = new Utilities(Context.Guild);
                string    avatar       = Context.Message.Author.GetAvatarUrl() ?? Context.Message.Author.GetDefaultAvatarUrl();
                var       guildAccount = GuildAccounts.GetGuildAccount(Context.Guild);

                EmbedBuilder builderList = new EmbedBuilder();

                builderList
                .WithAuthor(Context.Message.Author.Username, avatar)
                .WithDescription(Utilities.GetAlert("LANGUAGES_SHOW_LIST") + Utilities.GetAlert("LANGUAGES_LIST") + Utilities.GetAlert("LANGUAGE_USING"))
                .WithColor(new Color(66, 244, 113));

                await ReplyAsync("", false, builderList.Build());

                return;
            }
Esempio n. 27
0
        public static async Task Gambling(IGuild guild, ISocketMessageChannel channel, IUser user, IUserMessage message)
        {
            await message.DeleteAsync();

            var GuildAccount = GuildAccounts.GetAccount(guild);

            var one   = new Emoji("❤");
            var two   = new Emoji("💛");
            var three = new Emoji("💚");
            var four  = new Emoji("💙");
            var five  = new Emoji("💜");
            var six   = new Emoji("🖤");
            var left  = new Emoji("◀");
            var right = new Emoji("▶");

            //msg sloty
            EmbedBuilder eb = new EmbedBuilder();

            eb.AddField("🎰 JEDNORĘKI BANDYTA ", $"```yaml\nZAREAGUJ ABY ZAGRAĆ```");
            eb.AddField("Nagrody:", "\u0037\u20e3 x2 | 🍇 x4 | ⭐ x8 | 🍑 x10 | 🍊 x15 | 🍫 x20 | 🔔 x25", true);
            eb.AddField("Cennik:", "❤ 100 | 💛 500 | 💚 1000 | 💙 5000 | 💜 10 000 | 🖤 50 000 ", true);
            eb.WithColor(Color.DarkBlue);

            RestUserMessage msg = await channel.SendMessageAsync("", false, eb.Build());

            ReactionChannels.channels.gambling = msg.Id;
            ReactionChannels.SaveChannels();

            GuildAccount.GamblingPage = 1;

            await msg.AddReactionAsync(left);

            await msg.AddReactionAsync(one);

            await msg.AddReactionAsync(two);

            await msg.AddReactionAsync(three);

            await msg.AddReactionAsync(four);

            await msg.AddReactionAsync(five);

            await msg.AddReactionAsync(six);

            await msg.AddReactionAsync(right);
        }
Esempio n. 28
0
        private async Task CheckPrefix(SocketCommandContext context, SocketUserMessage message)
        {
            var guildAccount = GuildAccounts.GetGuildAccount(context.Guild);

            int argPos = 0;

            if (message.HasStringPrefix(Config.bot.cmdPrefix, ref argPos) ||
                message.HasMentionPrefix(_client.CurrentUser, ref argPos) ||
                message.HasStringPrefix(guildAccount.Prefix, ref argPos))
            {
                var result = await _commands.ExecuteAsync(context, argPos, _services);

                if (!result.IsSuccess && result.Error != CommandError.UnknownCommand)
                {
                    Console.WriteLine(result.ErrorReason);
                }
            }
        }
Esempio n. 29
0
        public static async Task Mute(IGuild guild, IMessage message, IGuildUser muteuser, IGuildUser administrator, int time, [Remainder] string reason)
        {
            await message.DeleteAsync();

            //Variables
            string TimeDate         = Global.TimeDate;
            var    UserAccount      = UserAccounts.GetAccount((SocketUser)muteuser);
            var    GuildAccount     = GuildAccounts.GetAccount(guild);
            var    ContextGuild     = guild as SocketGuild;
            ulong  PenaltyChannelID = GuildAccount.PenaltyChannelID;
            var    PenaltyChannel   = ContextGuild.GetChannel(PenaltyChannelID) as IMessageChannel;

            //Mute user
            UserAccount.UnmuteTime = DateTime.Now.Add(TimeSpan.FromSeconds(time));
            UserAccounts.SaveAccounts();
            //Send message
            await PenaltyChannel.SendMessageAsync("", false, Messages.GenerateMuteEmbed(muteuser, administrator, TimeDate, time, reason));
        }
Esempio n. 30
0
        public static string ChangeLanguage(GuildAccount guildAccount, string language)
        {
            if (language == "polish" || language == "polski")
            {
                guildAccount.ConfigLang = "Texts/pl_PL.json";
                GuildAccounts.SaveGuilds();
                return("polish");
            }

            else if (language == "english")
            {
                guildAccount.ConfigLang = "Texts/en_US.json";
                GuildAccounts.SaveGuilds();
                return("english");
            }

            else
            {
                return(null);
            }
        }