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 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."); } }
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 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!"); }
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); } }
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(); } }
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."); } }
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 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); }
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(); } }
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()); } } }
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); } } }
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); } }
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); }
public static async Task Fun2(IGuild guild, ISocketMessageChannel channel, IUser user, IUserMessage message) { await message.DeleteAsync(); var GuildAccount = GuildAccounts.GetAccount(guild); var e1 = new Emoji("💁"); var e2 = new Emoji("😁"); var e3 = new Emoji("😻"); var e4 = new Emoji("😎"); var e5 = new Emoji("😏"); var e6 = new Emoji("😘"); var e7 = new Emoji("😜"); var e8 = new Emoji("💬"); var e9 = new Emoji("🙄"); var e10 = new Emoji("😠"); var e11 = new Emoji("🚬"); var e12 = new Emoji("☁"); var e13 = new Emoji("🍾"); var e14 = new Emoji("👥"); var e15 = new Emoji("😈"); var e16 = new Emoji("👫"); var e17 = new Emoji("😝"); var e18 = new Emoji("🤸"); var e19 = new Emoji("🍞"); var e20 = new Emoji("🌜"); var e21 = new Emoji("🌅"); var e22 = new Emoji("🍎"); var e23 = new Emoji("😋"); var e24 = new Emoji("😊"); var e25 = new Emoji("👤"); var e26 = new Emoji("🤔"); var e27 = new Emoji("🥊"); var e28 = new Emoji("😉"); var e29 = new Emoji("🛋"); var e30 = new Emoji("🖼"); var e31 = new Emoji("🎧"); var e32 = new Emoji("📟"); var e33 = new Emoji("🎟"); var e34 = new Emoji("🛠"); var e35 = new Emoji("⛹"); var e36 = new Emoji("💅"); var e37 = new Emoji("🛌"); var e38 = new Emoji("⚱"); EmbedBuilder eb1 = new EmbedBuilder(); eb1.WithAuthor("Role 4Fun"); eb1.Author.WithIconUrl("https://media.istockphoto.com/vectors/beach-ball-icon-vector-illustration-vector-id953517418?k=6&m=953517418&s=612x612&w=0&h=gR-OnMknySzJkaRDwig6gf84FnrSYeYgnv3zNzOtN4I="); eb1.AddField("Zareaguj aby wybrać.", $"<@&556548939860410381>\n<@&556548940766380032>\n<@&556548941584269343>\n<@&556548942389706782>\n<@&556548942674788354>\n<@&556548945325719564>\n<@&556548945376182273> \n<@&556548945594023996>\n<@&556552307647578115>\n<@&556548947217350670>\n<@&556548947435323393>\n<@&556548949096398850>\n<@&556548949381480479>\n<@&556548951059464212>\n<@&556548951126441990>\n<@&556548952892375080>\n<@&556548954272169995>\n<@&556548955719073802>\n<@&556548956025258074>\n<@&556548957531013133>", true); eb1.WithColor(Color.Green); RestUserMessage msg1 = await channel.SendMessageAsync("", false, eb1.Build()); ReactionChannels.channels.fun3 = msg1.Id; ReactionChannels.SaveChannels(); await msg1.AddReactionAsync(e1); await msg1.AddReactionAsync(e2); await msg1.AddReactionAsync(e3); await msg1.AddReactionAsync(e4); await msg1.AddReactionAsync(e5); await msg1.AddReactionAsync(e6); await msg1.AddReactionAsync(e7); await msg1.AddReactionAsync(e8); await msg1.AddReactionAsync(e9); await msg1.AddReactionAsync(e10); await msg1.AddReactionAsync(e11); await msg1.AddReactionAsync(e12); await msg1.AddReactionAsync(e13); await msg1.AddReactionAsync(e14); await msg1.AddReactionAsync(e15); await msg1.AddReactionAsync(e16); await msg1.AddReactionAsync(e17); await msg1.AddReactionAsync(e18); await msg1.AddReactionAsync(e19); await msg1.AddReactionAsync(e20); EmbedBuilder eb2 = new EmbedBuilder(); eb2.WithAuthor("Role 4Fun"); eb2.Author.WithIconUrl("https://media.istockphoto.com/vectors/beach-ball-icon-vector-illustration-vector-id953517418?k=6&m=953517418&s=612x612&w=0&h=gR-OnMknySzJkaRDwig6gf84FnrSYeYgnv3zNzOtN4I="); eb2.AddField("Zareaguj aby wybrać.", $"<@&556548959724896256>\n<@&556548960781729805>\n<@&556548962115649537>\n<@&556548963474604033>\n<@&556548964841685013>\n<@&556548966125142066>\n<@&556548967350009868>\n<@&556548968700706816>\n<@&556548970164387874>\n<@&556548970755653652>\n<@&556548972248956933>\n<@&556548973003931668>\n<@&556548974253834254>\n<@&556548975990145034>\n<@&556548976300654720>\n<@&556548977936302090>\n<@&556548979098386434>\n<@&556548980780040202>", true); eb2.WithColor(Color.Green); RestUserMessage msg2 = await channel.SendMessageAsync("", false, eb2.Build()); ReactionChannels.channels.fun4 = msg2.Id; ReactionChannels.SaveChannels(); await msg2.AddReactionAsync(e21); await msg2.AddReactionAsync(e22); await msg2.AddReactionAsync(e23); await msg2.AddReactionAsync(e24); await msg2.AddReactionAsync(e25); await msg2.AddReactionAsync(e26); await msg2.AddReactionAsync(e27); await msg2.AddReactionAsync(e28); await msg2.AddReactionAsync(e29); await msg2.AddReactionAsync(e30); await msg2.AddReactionAsync(e31); await msg2.AddReactionAsync(e32); await msg2.AddReactionAsync(e33); await msg2.AddReactionAsync(e34); await msg2.AddReactionAsync(e35); await msg2.AddReactionAsync(e36); await msg2.AddReactionAsync(e37); await msg2.AddReactionAsync(e38); }
public static async Task Shop(IGuild guild, IMessage message, ISocketMessageChannel channel) { await message.DeleteAsync(); var GuildAccount = GuildAccounts.GetAccount(guild); var coin = Emote.Parse(Messages.coin); var vip = Emote.Parse(Messages.vip); var svip = Emote.Parse(Messages.svip); var sponsor = Emote.Parse(Messages.sponsor); var one = new Emoji("\u0031\u20e3"); var two = new Emoji("\u0032\u20e3"); var three = new Emoji("\u0033\u20e3"); var four = new Emoji("\u0034\u20e3"); var five = new Emoji("\u0035\u20e3"); var six = new Emoji("\u0036\u20e3"); var seven = new Emoji("\u0037\u20e3"); var eight = new Emoji("\u0038\u20e3"); var nine = new Emoji("\u0039\u20e3"); var left = new Emoji("◀"); var right = new Emoji("▶"); EmbedBuilder ebShop1 = new EmbedBuilder(); ebShop1.WithAuthor("SKLEP"); ebShop1.Author.WithIconUrl("http://icons.iconarchive.com/icons/webalys/kameleon.pics/512/Shop-icon.png"); ebShop1.WithDescription("Kliknij w odpowiednią reakcje by zakupić produkt."); ebShop1.AddField($":one: RANGA VIP {vip}", $"{coin} 5000", true); ebShop1.AddField($":two: RANGA SVIP {svip}", $"{coin} 10 000", true); ebShop1.AddField($":three: WYBÓR MUZYKI :musical_note:", $"{coin} 5000", true); ebShop1.AddField($":four: AKINATOR 👳", $"{coin} 5000", true); ebShop1.AddField($":five: ZMIANA NICKU :label:", $"{coin} 1000", true); ebShop1.AddField($":six: UNWARN ⚠", $"{coin} 5000", true); ebShop1.AddField($":seven: MYSTERY BOX 1 📗", $"{coin} 1000", true); ebShop1.AddField($":eight: MYSTERY BOX 2 📘", $"{coin} 2000", true); ebShop1.AddField($":nine: MYSTERY BOX 3 📕", $"{coin} 3000", true); ebShop1.WithFooter("👆 Kliknij w odpowiednią reakcje by zakupić produkt. Użyj strzałek ◀ ▶ żeby zmienić stronę."); ebShop1.WithColor(new Color(34, 166, 192)); RestUserMessage msg = await channel.SendMessageAsync("", false, ebShop1.Build()); ReactionChannels.channels.shop = msg.Id; ReactionChannels.SaveChannels(); GuildAccount.ShopPage = 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(seven); await msg.AddReactionAsync(eight); await msg.AddReactionAsync(nine); await msg.AddReactionAsync(right); }