internal ICollection <EventTaskAssignment> ReadRunnerReminderCsvForEvent(string filepath, ulong eventId) { using var reader = new StreamReader(filepath); using var csv = new CsvReader(reader, CultureInfo.InvariantCulture); csv.Configuration.Delimiter = ";"; var assignmentsList = new List <EventTaskAssignment>(); csv.Read(); csv.ReadHeader(); while (csv.Read()) { var userName = csv.GetField <string>(DiscordUserHeader).Split('#'); var user = UserUtils.GetUserByDiscordName(_client, userName[0], userName[1]); var game = csv.GetField <string>(GameHeader); var record = new EventTaskAssignment { Content = $"@<{user.Id}> your run for {game} is coming up!", Type = ReminderTypes.Run, TaskStartTime = csv.GetField <DateTime>(ScheduleTimeHeader), AssignedUser = user, EventId = eventId }; } return(assignmentsList); }
public async Task AddOneTimeDebugReminder(string msg, string targetUser, string evnt = "") { var validUser = ulong.TryParse(targetUser, out var userId); if (validUser == false) { await ReplyAsync($"{targetUser} is not a valid userId"); return; } var user = new User(userId); var evntToAssign = new EventRepository().GetNextEventForGuild(Context.Guild.Id); var reminder = new EventTaskAssignment { Content = msg, Type = ReminderTypes.DebugTask, AssignedUser = user }; }