public static void Main(string[] args) { var bot = new Bot(); Console.WriteLine(@" ▄████████ ▄████████ ███ ▄█ ▄████████ ███ ███ ███ ███ ▀█████████▄ ███ ███ ███ ███ ███ ███ █▀ ▀███▀▀██ ███▌ ███ █▀ ███ ███ ███ ███ ▀ ███▌ ███ ▀███████████ ███ ███ ███▌ ▀███████████ ███ ███ ███ █▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▄█ ███ ███ █▀ ████████▀ ▄████▀ █▀ ▄████████▀ "); //ЧСВ ReloadSettings(); // Загрузим настройки ShipList.ReadFromXML(BotSettings.ShipXML); DonatorList.ReadFromXML(BotSettings.DonatorXML); UserList.ReadFromXML(BotSettings.WarningsXML); DonatorList.SaveToXML(BotSettings.DonatorXML); // Если вдруг формат был изменен, перезапишем XML-файлы. UserList.SaveToXML(BotSettings.WarningsXML); bot.RunBotAsync().GetAwaiter().GetResult(); }
public async Task DFriend(CommandContext ctx, DiscordMember member) { if (!DonatorList.Donators.ContainsKey(ctx.Member.Id)) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Вы не являетесь донатером!"); return; } if (DonatorList.Donators[ctx.Member.Id].Balance < 250) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Ваш баланс меньше 250 рублей!"); return; } if (DonatorList.Donators[ctx.Member.Id].Friends.Count == 5) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Вы можете добавить только 5 друзей!"); return; } DonatorList.Donators[ctx.Member.Id].AddFriend(member.Id); await member.GrantRoleAsync(ctx.Guild.GetRole(DonatorList.Donators[ctx.Member.Id].ColorRole)); DonatorList.SaveToXML(Bot.BotSettings.DonatorXML); await ctx.RespondAsync($"{Bot.BotSettings.OkEmoji} Вы успешно добавили вашему другу цвет!"); }
public async Task SetHidden(CommandContext ctx, DiscordMember member, bool hidden = true) { if (!DonatorList.Donators.ContainsKey(member.Id)) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Участник не является донатером!"); return; } DonatorList.Donators[member.Id].UpdateHidden(hidden); DonatorList.SaveToXML(Bot.BotSettings.DonatorXML); }
public async Task DonatorAdd(CommandContext ctx, DiscordMember member, int balance) { var res = new Donator(member.Id, 0, balance); if (balance >= 50) { var role = await ctx.Guild.CreateRoleAsync($"{member.Username} Style"); res.SetRole(role.Id); await ctx.Guild.UpdateRolePositionAsync(role, ctx.Guild.GetRole(Bot.BotSettings.BotRole).Position - 1); await member.GrantRoleAsync(role); } DonatorList.SaveToXML(Bot.BotSettings.DonatorXML); var over100Message = "."; if (balance >= 100) { over100Message = ", `!droleadd` для выдачи роли Wanted, `!drolerm` для снятия роли Wanted"; } var over250Message = "."; if (balance >= 250) { over250Message = ", `!drename` для переименования своей роли, `!dfriend` для того чтобы выдать свой цвет другу."; } var over50Message = ""; if (balance >= 50) { over50Message = "Используйте команду " + $"`!dcolor код_цвета` для изменения цвета{over100Message}{over250Message}"; } await member.SendMessageAsync( $"Администратор **{ctx.Member.Username}** добавил вас в качестве донатера. Ваш баланс: **{balance} рублей**. {over50Message}"); await ctx.RespondAsync($"{Bot.BotSettings.OkEmoji} Успешно добавлен донатер!"); }
public async Task DUnFriend(CommandContext ctx, DiscordMember member) { if (!DonatorList.Donators.ContainsKey(ctx.Member.Id)) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Вы не являетесь донатером!"); return; } if (DonatorList.Donators[ctx.Member.Id].Balance < 250) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Ваш баланс меньше 250 рублей!"); return; } await member.RevokeRoleAsync(ctx.Guild.GetRole(DonatorList.Donators[ctx.Member.Id].ColorRole)); DonatorList.Donators[ctx.Member.Id].RemoveFriend(member.Id); DonatorList.SaveToXML(Bot.BotSettings.DonatorXML); await ctx.RespondAsync($"{Bot.BotSettings.OkEmoji} Успешно удален цвет!"); }
public async Task DBalance(CommandContext ctx, DiscordMember member, int newBalance) { if (!DonatorList.Donators.ContainsKey(member.Id)) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} Пользователь не является донатером!"); return; } double oldBalance = DonatorList.Donators[member.Id].Balance; DonatorList.Donators[member.Id].SetBalance(newBalance); DonatorList.SaveToXML(Bot.BotSettings.DonatorXML); await ctx.RespondAsync($"{Bot.BotSettings.OkEmoji} Вы успешно изменили баланс."); await member.SendMessageAsync( $"Администратор **{ctx.Member.Username}** изменил ваш баланс. Ваш новый баланс: **{newBalance}** рублей."); if (oldBalance < 50) { if (newBalance >= 50) { await member.SendMessageAsync($"Используйте `!dcolor` для изменения цвета ника."); } if (newBalance >= 100) { await member.SendMessageAsync( $"Используйте `!droleadd` для выдачи роли Wanted. `!drolerm` для того чтобы убрать её."); } if (newBalance >= 250) { await member.SendMessageAsync( $"Используйте `!drename` для переименования роли донатера. `!dfriend` для выдачи своему другу цвета донатера."); } } else if (oldBalance < 100) { if (newBalance < 50) { await member.SendMessageAsync($"Вам стал недоступен функционал `!dcolor`."); } if (newBalance >= 100) { await member.SendMessageAsync( $"Используйте `!droleadd` для выдачи роли Wanted. `!drolerm` для того чтобы убрать её."); } if (newBalance >= 250) { await member.SendMessageAsync( $"Используйте `!drename` для переименования роли донатера. `!dfriend` для выдачи своему другу цвета донатера."); } } else if (oldBalance < 250) { if (newBalance < 50) { await member.SendMessageAsync($"Вам стал недоступен функционал `!dcolor`."); } if (newBalance < 100) { await member.SendMessageAsync( $"Вам стал недоступен функционал `!droleadd`, `!drolerm`."); } if (newBalance >= 250) { await member.SendMessageAsync( $"Используйте `!drename` для переименования роли донатера. `!dfriend` для выдачи своему другу цвета донатера."); } } else { if (newBalance < 50) { await member.SendMessageAsync($"Вам стал недоступен функционал `!dcolor`."); } if (newBalance < 100) { await member.SendMessageAsync( $"Вам стал недоступен функционал `!droleadd`, `!drolerm`."); } if (newBalance < 250) { await member.SendMessageAsync( $"Вам стал недоступен функционал `!drename`, `!dfriend`."); } } }