public async Task SeenAsync(string afkMessage) { AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKByName(afkMessage); if (afkDTO == null) { return; } string msg = "**{0} is away** for {1}with a message :point_right: {2}"; string awayFor = string.Empty; if ((DateTime.Now - afkDTO.AwayTime).Days > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Days.ToString() + "d "; } if ((DateTime.Now - afkDTO.AwayTime).Hours > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Hours.ToString() + "h "; } if ((DateTime.Now - afkDTO.AwayTime).Minutes > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Minutes.ToString() + "m "; } if ((DateTime.Now - afkDTO.AwayTime).Seconds > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Seconds.ToString() + "s "; } string message = string.Format(msg, afkDTO.AwayUser, awayFor, afkDTO.AwayMessage); await ReplyAsync(message); }
private static async Task <string> HandleMentionedUsers(SocketUserMessage message) { string mentionedUsers = string.Empty; foreach (var user in message.MentionedUsers) { AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKById(user.Id); if (afkDTO != null) { string msg = "**{0} is away** for {1}with a message :point_right: {2}"; string awayFor = string.Empty; if ((DateTime.Now - afkDTO.AwayTime).Days > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Days.ToString() + "d "; } if ((DateTime.Now - afkDTO.AwayTime).Hours > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Hours.ToString() + "h "; } if ((DateTime.Now - afkDTO.AwayTime).Minutes > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Minutes.ToString() + "m "; } if ((DateTime.Now - afkDTO.AwayTime).Seconds > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Seconds.ToString() + "s "; } string awayMsg = string.Format(msg, afkDTO.AwayUser, awayFor, afkDTO.AwayMessage); await message.Channel.SendMessageAsync(awayMsg); } mentionedUsers += $"{user.Mention} "; } return(mentionedUsers); }
public async Task SeenAsync(string afkMessage) { AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKByName(afkMessage); if (afkDTO == null) { return; } string msg = Constants.SEEN_MESSAGE_FORMAT; string awayFor = string.Empty; if ((DateTime.Now - afkDTO.AwayTime).Days > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Days.ToString() + "d "; } if ((DateTime.Now - afkDTO.AwayTime).Hours > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Hours.ToString() + "h "; } if ((DateTime.Now - afkDTO.AwayTime).Minutes > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Minutes.ToString() + "m "; } if ((DateTime.Now - afkDTO.AwayTime).Seconds > 0) { awayFor += (DateTime.Now - afkDTO.AwayTime).Seconds.ToString() + "s "; } string message = string.Format(msg, afkDTO.AwayUser, awayFor, afkDTO.AwayMessage); await ReplyAsync(message); }
public AFKDTO GetAFKById(ulong Id) { if (_afk == null) { return(null); } AFKDTO retAFK = _afk.Find(delegate(AFKDTO dto) { return(dto.Id == Id); }); return(retAFK); }
public AFKDTO GetAFKByName(string name) { if (_afk == null) { return(null); } AFKDTO retAFK = _afk.Find(delegate(AFKDTO dto) { return(dto.AwayUser.Trim().ToLower() == name.Trim().ToLower()); } ); return(retAFK); }
public async Task AFKAsync([Remainder] string afkMessage) { string userName = Context.User.Username; AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKByName(userName); if (afkDTO == null) { afkDTO = new AFKDTO(); afkDTO.Id = Context.User.Id; afkDTO.AwayMessage = afkMessage; afkDTO.AwayTime = DateTime.Now; afkDTO.AwayUser = userName; } AFKManager.TheAFKManager.UpdateAFK(afkDTO); await ReplyAsync(string.Format("{0} is away! {1} :wave:", userName, afkMessage)); }
public async Task SeenAsync(string afkMessage) { AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKByName(afkMessage); if (afkDTO == null) { return; } await ReplyAsync(string.Format("**{0} is away** for {1}d {2}h {3}m {4}s with a message => {5}", afkDTO.AwayUser, (DateTime.Now - afkDTO.AwayTime).Days, (DateTime.Now - afkDTO.AwayTime).Hours, (DateTime.Now - afkDTO.AwayTime).Minutes, (DateTime.Now - afkDTO.AwayTime).Seconds, afkDTO.AwayMessage)); }
public void RemoveAFKUserById(ulong id) { if (_afk == null) { return; } AFKDTO retAFK = _afk.Find(delegate(AFKDTO dto) { return(dto.Id == id); }); if (null != retAFK) { _afk.Remove(retAFK); SaveAFKUsers(); } }
public void UpdateAFK(AFKDTO afk) { if (null != afk) { _afk.Remove(afk); } AFKDTO newAFK = new AFKDTO(); newAFK.Id = afk.Id; newAFK.AwayUser = afk.AwayUser; newAFK.AwayTime = afk.AwayTime; newAFK.AwayMessage = afk.AwayMessage; _afk.Add(newAFK); SaveAFKUsers(); }
public async Task AFKAsync([Remainder] string afkMessage) { string userName = Context.User.Username; AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKByName(userName); if (afkDTO == null) { afkDTO = new AFKDTO() { Id = Context.User.Id, AwayMessage = afkMessage, AwayTime = DateTime.Now, AwayUser = userName }; } AFKManager.TheAFKManager.UpdateAFK(afkDTO); await ReplyAsync(string.Format(Constants.AWAY_MESSAGE_FORMAT, userName, afkMessage)); }
private static async Task <string> HandleMentionedUsers(SocketUserMessage message) { string mentionedUsers = string.Empty; foreach (var user in message.MentionedUsers) { AFKDTO afkDTO = AFKManager.TheAFKManager.GetAFKById(user.Id); if (afkDTO != null) { await message.Channel.SendMessageAsync(string.Format("**{0} is away** for {1}d {2}h {3}m {4}s with a message => {5}", afkDTO.AwayUser, (DateTime.Now - afkDTO.AwayTime).Days, (DateTime.Now - afkDTO.AwayTime).Hours, (DateTime.Now - afkDTO.AwayTime).Minutes, (DateTime.Now - afkDTO.AwayTime).Seconds, afkDTO.AwayMessage)); } mentionedUsers += $"{user.Mention} "; } return(mentionedUsers); }