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();
        }
        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();
        }
Esempio n. 3
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.");
            }
        }
Esempio n. 4
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. 5
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!");
            }
        }
Esempio n. 6
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}");
        }
        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.");
        }
        public async Task RemoveStick(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 deny         = new OverwritePermissions(speak: PermValue.Deny, connect: PermValue.Allow);
            var voiceChannel = Context.Guild.GetVoiceChannel(ChannelIds.channels.debateVCID);
            await voiceChannel.RemovePermissionOverwriteAsync(user);

            var debateTC = Global.Client.GetGuild(Context.Guild.Id).GetTextChannel(ChannelIds.channels.debateTCID);

            guild.StickHolderId = 0;
            GuildAccounts.SaveAccounts();
            await debateTC.SendMessageAsync("The speaking stick is open for grabs!");
        }
        public static async Task Config(SocketGuild guild, ISocketMessageChannel channel, SocketUserMessage message, string action, string option, string value)
        {
            await message.DeleteAsync();

            var GuildAccount = GuildAccounts.GetAccount(guild);

            if (action == "viev" || action == "list")
            {
                var DivideArray1 = (GuildAccount.OffLevelingChannelsId == null) ? null : GuildAccount.OffLevelingChannelsId.Skip(1).Aggregate(GuildAccount.OffLevelingChannelsId[0].ToString(), (s, i) => s + "," + i.ToString());
                await channel.SendMessageAsync($"```cs\nID: {GuildAccount.ID}\nPenaltyChannelID: {GuildAccount.PenaltyChannelID}\nAnnouncmentChannelID: {GuildAccount.AnnouncmentChannelID}\nVoteChannelID: {GuildAccount.VoteChannelID}\nBankChannelID: {GuildAccount.BankChannelID}\nWelcomeChannelID: {GuildAccount.WelcomeChannelID}\nCountingChannelID: {GuildAccount.CountingChannelID}\nMemesChannelID: {GuildAccount.MemesChannelID}\nGiveawayChannelID: {GuildAccount.GiveawayChannelID}\nShopPage: {GuildAccount.ShopPage}\nGamblingPage: {GuildAccount.GamblingPage}\nAdmChannelID: {GuildAccount.AdmChannelID}\nSuggestionsChannelID: {GuildAccount.SuggestionsChannelID}\nInviteLink: {GuildAccount.InviteLink}\nOffLevelingChannelsId: {DivideArray1}\nRekrutacja: {GuildAccount.Rekrutacja}```");
            }
            else if (action == "set")
            {
                if (option == null || value == null)
                {
                    await channel.SendMessageAsync($"{Messages.wrong} Opcja i Wartość nie mogą być puste. `!config set opcja wartość`");

                    return;
                }
                if (option == "ID")
                {
                    GuildAccount.ID = Convert.ToUInt64(value);
                }
                else if (option == "PenaltyChannelID")
                {
                    GuildAccount.PenaltyChannelID = Convert.ToUInt64(value);
                }
                else if (option == "AnnouncmentChannelID")
                {
                    GuildAccount.AnnouncmentChannelID = Convert.ToUInt64(value);
                }
                else if (option == "VoteChannelID")
                {
                    GuildAccount.VoteChannelID = Convert.ToUInt64(value);
                }
                else if (option == "BankChannelID")
                {
                    GuildAccount.BankChannelID = Convert.ToUInt64(value);
                }
                else if (option == "WelcomeChannelID")
                {
                    GuildAccount.WelcomeChannelID = Convert.ToUInt64(value);
                }
                else if (option == "CountingChannelID")
                {
                    GuildAccount.CountingChannelID = Convert.ToUInt64(value);
                }
                else if (option == "MemesChannelID")
                {
                    GuildAccount.MemesChannelID = Convert.ToUInt64(value);
                }
                else if (option == "GiveawayChannelID")
                {
                    GuildAccount.GiveawayChannelID = Convert.ToUInt64(value);
                }
                else if (option == "ShopPage")
                {
                    GuildAccount.ShopPage = Convert.ToUInt32(value);
                }
                else if (option == "GamblingPage")
                {
                    GuildAccount.GamblingPage = Convert.ToUInt32(value);
                }
                else if (option == "AdmChannelID")
                {
                    GuildAccount.AdmChannelID = Convert.ToUInt64(value);
                }
                else if (option == "SuggestionsChannelID")
                {
                    GuildAccount.SuggestionsChannelID = Convert.ToUInt64(value);
                }
                else if (option == "InviteLink")
                {
                    GuildAccount.InviteLink = value;
                }
                else if (option == "OffLevelingChannelsId")
                {
                    long[] ConvertedArray = value.Split(",").Select(long.Parse).ToArray();
                    GuildAccount.OffLevelingChannelsId = ConvertedArray;
                }
                else if (option == "Rekrutacja")
                {
                    GuildAccount.Rekrutacja = Convert.ToBoolean(value);
                }

                GuildAccounts.SaveAccounts();
                await channel.SendMessageAsync($"{Messages.check} Pomyślnie zaktualizowano `{option}: {value}`");
            }
        }
Esempio n. 10
0
 public async Task Guild()
 {
     GuildAccounts.GetAccount(Context.Guild);
     GuildAccounts.SaveAccounts();
 }