public static async Task OnBuy(SocketGuildUser customer) { int spent = UserDataManager.GetUserData(customer).KamtrokensSpent; if (spent > 1) { await AddTitle(customer, TitleIDs.FIRST_BUY); } else if (spent > 50) { await AddTitle(customer, TitleIDs.SHOPPER); } else if (spent > 200) { await AddTitle(customer, TitleIDs.FRIDAY_EXPERT); } else if (spent > 1000) { await AddTitle(customer, TitleIDs.SHOPMASTER); } else { return; } UserDataManager.SaveUserData(); }
public static async Task AddTitle(SocketGuildUser user, int titleid) { if (!NodeMap.ContainsKey(titleid)) { KLog.Error($"Attempted to give user {BotUtils.GetFullUsername(user)} invalid title ID #{titleid}"); return; } TitleNode node = NodeMap[titleid]; if (node == null) { KLog.Error($"Attempted to give user {BotUtils.GetFullUsername(user)} null title with ID #{titleid}"); return; } UserDataNode u = UserDataManager.GetUserData(user); if (u.Titles == null) { u.Titles = new List <int>(); } if (u.Titles.Contains(titleid)) { return; // Don't give duplicate titles } u.Titles.Add(titleid); node.OnComplete(user); KLog.Important($"User {BotUtils.GetFullUsername(user)} has earned title {node.Name}"); UserDataManager.SaveUserData(); await AnnounceAchievement(user, node); }