public void ListInactive(SkypeCommander.Command cmd) { int days = 0; int.TryParse(cmd.ArgumentsText, out days); if (days == 0) { days = 7; } var ulist = cmd.Chat.Messages.OfType <SKYPE4COMLib.ChatMessage>() .Where(o => o.Timestamp >= DateTime.Now.AddDays(-days)) .DistinctBy(o => o.FromHandle) .Select(o => SkypeCommands.GetUser(o.FromHandle)); cmd.ReplyChat("Inactive users for past {0} days\n{1}" , days , String.Join(Environment.NewLine, cmd.ChatMembers.Where(o => !ulist.Any(u => u.Handle == o.Handle)).Select(o => SkypeCommands.GetUser(o.Handle).GetDisplayName()))); }
public void SetRole(SkypeCommander.Command cmd) { if (SkypeCommands.IsMod(cmd.SenderMember) && cmd.Arguments.Length > 1) { var role = cmd.Arguments[1].ToLower(); var member = GetMemberByPartial(cmd.ChatMembersUsers, cmd.Arguments[0]); if (member != null) { bool roleFound = false; var currentMember = GetCurrentMember(cmd.ChatMembers); switch (role) { case "helper": if (currentMember.CanSetRoleTo(TChatMemberRole.chatMemberRoleHelper)) { if (member.Role != TChatMemberRole.chatMemberRoleHelper) { member.Role = TChatMemberRole.chatMemberRoleHelper; roleFound = true; } } break; case "listener": if (currentMember.CanSetRoleTo(TChatMemberRole.chatMemberRoleListener)) { if (member.Role != TChatMemberRole.chatMemberRoleListener) { member.Role = TChatMemberRole.chatMemberRoleListener; roleFound = true; } } break; case "master": if (currentMember.CanSetRoleTo(TChatMemberRole.chatMemberRoleMaster)) { if (member.Role != TChatMemberRole.chatMemberRoleMaster) { member.Role = TChatMemberRole.chatMemberRoleMaster; roleFound = true; } } break; case "user": if (currentMember.CanSetRoleTo(TChatMemberRole.chatMemberRoleUser)) { if (member.Role != TChatMemberRole.chatMemberRoleUser) { member.Role = TChatMemberRole.chatMemberRoleUser; roleFound = true; } } break; } if (roleFound) { cmd.ReplyChat(member.Handle + " promoted to " + role); } } } }
public void GetChatOptions(SkypeCommander.Command cmd) { ChatOptions options = (ChatOptions)cmd.Chat.Options; cmd.ReplyChat(String.Format("Options: {0}", options)); }