public async Task CountAss() { LmaoBotUser userSettings = await Database.GetUserSettings().GetUserSettings((long)Context.User.Id); if (userSettings.Settings.LmaoCount == 0) { await ReplyAsync(Context.User.Mention + " You have yet to laugh your ass off"); } else if (userSettings.Settings.LmaoCount == 1) { await ReplyAsync(Context.User.Mention + " You have laughed your ass off " + userSettings.Settings.LmaoCount + " time"); } else { await ReplyAsync(Context.User.Mention + " You have laughed your ass off " + userSettings.Settings.LmaoCount + " times"); } }
/// <summary> /// Get the bot settings of the specified user /// </summary> /// <param name="userID">the ID of the user to get</param> /// <returns>The UserSettings model of the user</returns> public async Task <LmaoBotUser> GetUserSettings(long userID) { var filter = Builders <LmaoBotUser> .Filter.Eq("UserID", userID); if (await Collection.CountDocumentsAsync(filter) == 1) { LmaoBotUser settings = await Collection.Find(filter).FirstAsync(); return(settings); } else { await CreateUserSettings(userID); LmaoBotUser user = await Collection.Find(filter).FirstAsync(); return(user); } }
public async Task AddReminder(Reminder reminder, long userID) { LmaoBotUser user = await GetUserSettings(userID); var filter = Builders <LmaoBotUser> .Filter.Eq("UserID", userID); //A one-time fix for legacy users who didn't have their reminder object initialized properly. if (user.Reminders == null) { List <Reminder> reminders = new List <Reminder>(); reminders.Add(reminder); var update = Builders <LmaoBotUser> .Update.Set(settings => settings.Reminders, reminders); await Collection.FindOneAndUpdateAsync(filter, update); } else { var update = Builders <LmaoBotUser> .Update.Push <Reminder>(f => f.Reminders, reminder); await Collection.FindOneAndUpdateAsync(filter, update); } }