private void FormMain_Load(object sender, EventArgs ev) { this.Location = Settings.Default.StartPosition; if (Settings.Default.StartSize.Width > 0 && Settings.Default.StartSize.Height > 0) { this.Size = Settings.Default.StartSize; } try { bool isRunningAsAdmin = UacHelper.IsProcessElevated; SkypeCommands.Skype.Attach(); SkypeCommands.LoadSettings(); //SpeechCommands.Start(); HubManager.Attach(); //DebugTests(); SkypeCommands.Skype.Error += SkypeCommands.OnError; SkypeCommands.Skype.MessageStatus += SkypeCommands.OnMessageStatus; } catch { MessageBox.Show("Execute this program as admin and allow in Skype", "Error"); System.Windows.Forms.Application.Exit(); } }
public void Invite(SkypeCommander.Command cmd) { if (SkypeCommands.IsMod(cmd.SenderMember)) { cmd.Chat.AddMembers(new UserCollection { SkypeCommands.GetUser(cmd.ArgumentsText) }); } }
public void Kick(SkypeCommander.Command cmd) { if (SkypeCommands.IsMod(cmd.SenderMember) && cmd.HasArguments) { var member = GetMemberByPartial(cmd.ChatMembersUsers, cmd.ArgumentsText); if (member != null) { cmd.Message.Chat.Kick(member.Handle); } } }
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 ForkActive(SkypeCommander.Command cmd) { var latestMessages = cmd.Chat.Messages.OfType <SKYPE4COMLib.ChatMessage>() .Take(500) .Where(o => o.Timestamp > DateTime.Now.AddMinutes(-15)) .DistinctBy(o => o.FromHandle); UserCollection users = new UserCollection(); var ulist = latestMessages.Select(o => SkypeCommands.GetUser(o.FromHandle)) .Where(o => o.Handle != SkypeCommands.Skype.CurrentUserHandle) .ToList(); var userCollection = new UserCollection(); ulist.ForEach(u => userCollection.Add(u)); var chat = SkypeCommands.Skype.CreateChatMultiple(userCollection); if (chat != null) { chat.SendMessage(String.Format("Chat created {0} with {1} members", DateTime.Now.ToShortTimeString(), ulist.Count)); } }
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); } } } }