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(); }
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 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!"); }
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 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}`"); } }
public async Task Guild() { GuildAccounts.GetAccount(Context.Guild); GuildAccounts.SaveAccounts(); }