Beispiel #1
0
 public Channel(IChatMember creator)
 {
     Members    = new ChatMember[1];
     Members[0] = creator;
     Messages   = new Message[0];
     ChatId     = Guid.NewGuid();
 }
Beispiel #2
0
        public void EditRoleOfMember(Guid chatId, ChatMemberRole newRole, IChatMember editor, IChatMember editingPerson)
        {
            for (int i = 0; i < _privateChats.Count; i++)
            {
                if (_privateChats[chatId].ChatId == chatId)
                {
                    _privateChats[chatId].EditRoleOfMember(newRole, editor, editingPerson);
                    break;
                }
            }

            for (int i = 0; i < _groupChats.Count; i++)
            {
                if (_groupChats[chatId].ChatId == chatId)
                {
                    _groupChats[chatId].EditRoleOfMember(newRole, editor, editingPerson);
                    break;
                }
            }

            for (int i = 0; i < _channels.Count; i++)
            {
                if (_channels[chatId].ChatId == chatId)
                {
                    _channels[chatId].EditRoleOfMember(newRole, editor, editingPerson);
                    break;
                }
            }
        }
Beispiel #3
0
        public void EditMessage(Guid chatId, IMessage message, string newMessage, IChatMember member)
        {
            for (int i = 0; i < _privateChats.Count; i++)
            {
                if (_privateChats[chatId].ChatId == chatId)
                {
                    _privateChats[chatId].EditMessage(message, newMessage, member);
                    break;
                }
            }

            for (int i = 0; i < _groupChats.Count; i++)
            {
                if (_groupChats[chatId].ChatId == chatId)
                {
                    _groupChats[chatId].EditMessage(message, newMessage, member);
                    break;
                }
            }

            for (int i = 0; i < _channels.Count; i++)
            {
                if (_channels[chatId].ChatId == chatId)
                {
                    _channels[chatId].EditMessage(message, newMessage, member);
                    break;
                }
            }
        }
Beispiel #4
0
        public void InviteUser(Guid chatId, IChatMember member, IUser invitedUser)
        {
            for (int i = 0; i < _privateChats.Count; i++)
            {
                if (_privateChats[chatId].ChatId == chatId)
                {
                    _privateChats[chatId].InviteUser(member, invitedUser);
                    break;
                }
            }

            for (int i = 0; i < _groupChats.Count; i++)
            {
                if (_groupChats[chatId].ChatId == chatId)
                {
                    _groupChats[chatId].InviteUser(member, invitedUser);
                    break;
                }
            }

            for (int i = 0; i < _channels.Count; i++)
            {
                if (_channels[chatId].ChatId == chatId)
                {
                    _channels[chatId].InviteUser(member, invitedUser);
                    break;
                }
            }
        }
Beispiel #5
0
        public void Notify(IChatMember member, string status)
        {
            DateTime currentDateTime = DateTime.Now;

            Send(currentDateTime.ToString());
            Send($"**** {member.UserName} {status} the chat. ****\n");
        }
Beispiel #6
0
        public void SendMessage(Guid chatId, IChatMember member, string message)
        {
            for (int i = 0; i < _privateChats.Count; i++)
            {
                if (_privateChats[chatId].ChatId == chatId)
                {
                    _privateChats[chatId].SendMessage(message, member);
                    break;
                }
            }

            for (int i = 0; i < _groupChats.Count; i++)
            {
                if (_groupChats[chatId].ChatId == chatId)
                {
                    _groupChats[chatId].SendMessage(message, member);
                    break;
                }
            }

            for (int i = 0; i < _channels.Count; i++)
            {
                if (_channels[chatId].ChatId == chatId)
                {
                    _channels[chatId].SendMessage(message, member);
                    break;
                }
            }
        }
Beispiel #7
0
 public static void NotifyChatMember(IChatMember memberski, string status)
 {
     foreach (KeyValuePair <IChatMember, string> member in members)
     {
         member.Key.Notify(memberski, status);
     }
 }
Beispiel #8
0
        public void AddToChat(IChatMember chatMember)
        {
            AddToChatNotification(this, new ChatArgs(chatMember));

            chat.ChatMembers.Add(chatMember);
            AddToChatNotification      += chatMember.ReceiveAddToChatNotification;
            RemoveFromChatNotification += chatMember.ReceiveRemoveFromChatNotification;
        }
Beispiel #9
0
        public override bool CanSendMessage(IChatMember member)
        {
            if (IsParticipant(member) && member.Role == ChatMemberRole.Admin)
            {
                return(true);
            }

            return(false);
        }
Beispiel #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ChatSession" /> class.
        /// </summary>
        /// <param name="chatMember">The chat member.</param>
        /// <exception cref="ArgumentNullException">chatMember</exception>
        public ChatSession(IChatMember chatMember)
        {
            if (chatMember == null)
            {
                throw new ArgumentNullException(nameof(chatMember));
            }

            this.ChatMember = chatMember;
        }
Beispiel #11
0
 public void EditMessage(IMessage message, string newMesssage, IChatMember member)
 {
     if (IsHavingRights(member, message))
     {
         message.Text = newMesssage;
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #12
0
 public override void EditRoleOfMember(ChatMemberRole newRole, IChatMember editor, IChatMember editingPerson)
 {
     if (editor.Role == ChatMemberRole.Creator && IsParticipant(editingPerson))
     {
         editingPerson.Role = newRole;
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #13
0
        public bool IsParticipant(IChatMember member)
        {
            foreach (var chatMember in Members)
            {
                if (chatMember.Id == member.Id)
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #14
0
 public override void DeleteMessage(IMessage message, IChatMember member)
 {
     if (IsHavingRights(member, message))
     {
         List <IMessage> listOfMessages = Messages.ToList();
         listOfMessages.Remove(message);
         Messages = listOfMessages.ToArray();
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #15
0
        public override bool IsHavingRights(IChatMember member, IMessage message)
        {
            foreach (var chatMessage in Messages)
            {
                if (IsParticipant(member) && message.SenderId == member.Id && message.MessageId == chatMessage.MessageId)
                {
                    return(true);

                    break;
                }
            }
            return(false);
        }
Beispiel #16
0
 public virtual void InviteUser(IChatMember member, IUser invitedPerson)
 {
     if ((member.Role == ChatMemberRole.Creator || member.Role == ChatMemberRole.Admin))
     {
         List <IChatMember> listOfMembers = Members.ToList();
         listOfMembers.Add(new ChatMember(invitedPerson.Id, invitedPerson.NickName, ChatMemberRole.User));
         Members = listOfMembers.ToArray();
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #17
0
        public override bool IsHavingRights(IChatMember member, IMessage message)
        {
            foreach (var chatMessage in Messages)
            {
                if (IsParticipant(member) && (member.Role == ChatMemberRole.Creator || member.Role == ChatMemberRole.Admin) &&
                    message.MessageId == chatMessage.MessageId)
                {
                    return(true);

                    break;
                }
            }
            return(false);
        }
Beispiel #18
0
 public void SendMessage(string messageText, IChatMember member)
 {
     if (CanSendMessage(member))
     {
         Message         newMessage     = new Message(Guid.NewGuid(), messageText, member.Id, DateTimeOffset.Now);
         List <IMessage> listOfMessages = Messages.ToList();
         listOfMessages.Add(newMessage);
         Messages = listOfMessages.ToArray();
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #19
0
        public void SendMessage(IChatMember from, string message)
        {
            chat.ChatMessages.Add(new Tuple <IChatMember, string>(from, message));
            if (message == "addBot")
            {
                IChatMember bot = new ChatBotFactory(this).Create("Angry Bot");
                AddMessage += bot.ReceiveAddedMessageNotification;
                this.AddToChat(bot);
                return;
            }

            AddMessage(this, new ChatArgs(from, message));

            foreach (var item in chat.ChatMembers)
            {
                if (item != from)
                {
                    AddMessage += item.ReceiveAddedMessageNotification;
                }
            }
        }
Beispiel #20
0
        static void Main(string[] args)
        {
            IMediator _mediator = new ChatMediator();

            _mediator.CreateChat();

            IFactory _userFactory = new UserFactory(_mediator);


            IChatMember userJJ = _userFactory.Create("JJ");
            IChatMember userPJ = _userFactory.Create("PJ");
            IChatMember userRJ = _userFactory.Create("RJ");

            _mediator.AddToChat(userJJ);
            _mediator.AddToChat(userPJ);
            _mediator.AddToChat(userRJ);


            userJJ.SendMessage("");
            userPJ.SendMessage("addBot");
            userJJ.SendMessage("cat");

            Console.ReadLine();
        }
Beispiel #21
0
 public void RemoveFromChat(IChatMember chatMember)
 {
     AddToChatNotification      -= chatMember.ReceiveAddToChatNotification;
     RemoveFromChatNotification -= chatMember.ReceiveRemoveFromChatNotification;
     RemoveFromChatNotification(this, new ChatArgs(chatMember));
 }
Beispiel #22
0
 private void Skype_ChatMemberRoleChanged(IChatMember ichatmember, TChatMemberRole role)
 {
     this.Logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name);
 }
Beispiel #23
0
 public void CreateChannel(IChatMember creator)
 {
     _channels.Add(Guid.NewGuid(), (Channel)factory.CreateChannel(creator));
 }
Beispiel #24
0
 public void CreateGroupChat(IChatMember creator)
 {
     _groupChats.Add(Guid.NewGuid(), (Group)factory.CreateGroup(creator));
 }
Beispiel #25
0
 public ChatArgs(IChatMember chatMember)
 {
     ChatMember = chatMember;
 }
Beispiel #26
0
 public void CreatePrivateChat(IChatMember creator, IChatMember invitedUser)
 {
     _privateChats.Add(Guid.NewGuid(), (PrivateChat)factory.CreatePrivateChat(creator, invitedUser));
 }
        public IChat CreatePrivateChat(IChatMember creatorUser, IChatMember invitedUser)
        {
            IChat privateChat = new PrivateChat(new IChatMember[] { creatorUser, invitedUser });

            return(privateChat);
        }
        public IChat CreateChannel(IChatMember creatorUser)
        {
            IChat channel = new Channel(creatorUser);

            return(channel);
        }
        public IChat CreateGroup(IChatMember creatorUser)
        {
            IChat group = new Group(creatorUser);

            return(group);
        }
Beispiel #30
0
 public ChatArgs(IChatMember chatMember, string message)
 {
     ChatMember = chatMember;
     Message    = message;
 }
Beispiel #31
0
        public void skype_MessageStatus(ChatMessage pMessage, TChatMessageStatus Status)
        {
            #region Speaker Commands

            if (Status != TChatMessageStatus.cmsRead && pMessage.FromHandle != "async.bot" && (speakerList.Items.Contains(pMessage.FromHandle) || masterList.Items.Contains(pMessage.FromHandle)))
            {
                if (pMessage.Body.ToString() == "ping")
                {
                    pMessage.Chat.SendMessage("[BOT]: pong");
                }
                else if (pMessage.Body.ToString() == "pong")
                {
                    pMessage.Chat.SendMessage("[BOT]: ping");
                }
                else if (pMessage.Body.ToString().StartsWith("!insult "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!insult ").Length, pMessage.Body.ToString().Length - ("!insult ").Length);

                    pMessage.Chat.SendMessage("[BOT]: " + speaker + " is fat, ugly and hapless.");
                }
                else if (pMessage.Body.ToString().StartsWith("!voteKick "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!voteKick ").Length, pMessage.Body.ToString().Length - ("!voteKick ").Length);

                    if (!TempUserListContains(speaker))
                    {
                        tempUsers.Add(new TempUser(speaker));
                    }

                    TempUser user = GetTempUser(speaker);

                    try
                    {
                        if (!user.voters.Contains(pMessage.FromHandle))
                        {
                            user.voteKick++;
                            user.voters.Add(pMessage.FromHandle);
                            pMessage.Chat.SendMessage("[BOT]: Thank-you for voting. Vote kick count now at: " + user.voteKick + ".");

                            if (user.voteKick >= 3)
                            {
                                pMessage.Chat.SendMessage("/kick " + speaker);
                                pMessage.Chat.SendMessage("[BOT]: Voting closed. Attempting to kick " + speaker + ".");
                            }
                        }
                        else
                        {
                            pMessage.Chat.SendMessage("[BOT]: " + pMessage.FromHandle + " has already voted!");
                        }
                    }
                    catch (Exception ex)
                    {
                        Trace(ex.ToString());
                    }
                }
                else if (pMessage.Body.ToString().StartsWith("!voteKickAgainst "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!voteKickAgainst ").Length, pMessage.Body.ToString().Length - ("!voteKickAgainst ").Length);

                    if (!TempUserListContains(speaker))
                    {
                        tempUsers.Add(new TempUser(speaker));
                    }

                    TempUser user = GetTempUser(speaker);

                    if (!user.voters.Contains(pMessage.FromHandle))
                    {
                        user.voteKick--;
                        user.voters.Add(pMessage.FromHandle);
                        pMessage.Chat.SendMessage("[BOT]: Thank-you for voting. Vote kick count now at: " + user.voteKick + ".");

                        if (user.voteKick >= 3)
                        {
                            pMessage.Chat.SendMessage("/kick " + speaker);
                            pMessage.Chat.SendMessage("[BOT]: Voting closed. Attempting to kick " + speaker + ".");
                        }
                    }
                    else
                    {
                        pMessage.Chat.SendMessage("[BOT]: " + pMessage.FromHandle + " has already voted!");
                    }
                }
                else if (pMessage.Body.ToString().StartsWith("!respect "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!respect ").Length, pMessage.Body.ToString().Length - ("!respect ").Length);

                    if (!TempUserListContains(speaker))
                    {
                        tempUsers.Add(new TempUser(speaker));
                    }

                    TempUser user = GetTempUser(speaker);

                    if (!user.respecters.Contains(pMessage.FromHandle))
                    {
                        user.respect++;
                        user.respecters.Add(pMessage.FromHandle);
                        pMessage.Chat.SendMessage("[BOT]: " + speaker + " has now got " + user.respect + " respect.");
                    }
                    else
                    {
                        pMessage.Chat.SendMessage("[BOT]: " + pMessage.FromHandle + " has already voted!");
                    }
                }
                else if (pMessage.Body.ToString().ToLower().StartsWith("!help"))
                {
                    pMessage.Chat.SendMessage("Please keep in mind all commands are case-sensitive, and you must replace [username] with the username, NOT the display name!");
                    pMessage.Chat.SendMessage("!voteKick [username] - Votes in favour of kicking someone. When vote kick count reaches 3, user is automatically kicked.");
                    pMessage.Chat.SendMessage("!voteKickAgainst [username] - Votes against of kicking someone. When vote kick count reaches 3, user is automatically kicked.");
                    pMessage.Chat.SendMessage("!insult [username] - Insults user.");
                    pMessage.Chat.SendMessage("!respect [username] - Awards user some respect.");
                    pMessage.Chat.SendMessage("!ping [username] - Bot replies pong if it's listening to you.");
                    pMessage.Chat.SendMessage("!pong [username] - Bot replies ping if it's listening to you.");
                }
                else if (pMessage.Body.StartsWith("!compile "))
                {
                    string code = pMessage.Body.ToString().Substring(("!compile ").Length, pMessage.Body.ToString().Length - ("!compile ").Length);

                    if (File.Exists("code.cs"))
                    {
                        File.Delete("code.cs");
                    }

                    if (File.Exists("compile.bat"))
                    {
                        File.Delete("compile.bat");
                    }

                    File.AppendAllText("code.cs", "using System;using System.Threading; class Code { public static void closeIn1(){Thread.Sleep(1000);Environment.Exit(0);}\npublic static void Main(){ Thread t=new Thread(closeIn1);t.Start();");
                    File.AppendAllText("code.cs", code);
                    File.AppendAllText("code.cs", "}}");

                    string csc     = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe";
                    string command = csc + " /t:exe /o code.cs";

                    File.AppendAllText("compile.bat", command);

                    Process p = new Process();
                    p.StartInfo.FileName = "compile.bat";
                    p.StartInfo.RedirectStandardOutput = true;
                    p.StartInfo.UseShellExecute        = false;
                    p.StartInfo.RedirectStandardError  = true;
                    p.StartInfo.CreateNoWindow         = true;
                    p.Start();

                    string output = p.StandardOutput.ReadToEnd();
                    p.WaitForExit();

                    pMessage.Chat.SendMessage("[BOT]: Attempting to compile...");

                    if (!output.ToLower().Contains("error"))
                    {
                        pMessage.Chat.SendMessage("[BOT]: Compiled successfully. Attempting to run...");

                        Process p2 = new Process();
                        p2.StartInfo.FileName = "code.exe";
                        p2.StartInfo.RedirectStandardOutput = true;
                        p2.StartInfo.UseShellExecute        = false;
                        p2.StartInfo.RedirectStandardError  = true;
                        p2.StartInfo.CreateNoWindow         = true;
                        p2.Start();

                        string output2 = p2.StandardOutput.ReadToEnd();
                        p2.WaitForExit();

                        if (Regex.Matches(output2, "\n").Count > 5)
                        {
                            pMessage.Chat.SendMessage("[BOT]: Output too long to be displayed.");
                        }
                        else
                        {
                            pMessage.Chat.SendMessage("[BOT]: " + output2);
                        }
                    }
                    else
                    {
                        pMessage.Chat.SendMessage("[BOT]: I think it contains an error. I won't run it. You can !forceRun if you want though.");
                        pMessage.Chat.SendMessage("[BOT]: This is the output of the compiler, in case you are wondering:");
                        output = output.Substring(output.IndexOf("All rights reserved.") + ("ll rights reserved.").Length + 5);
                        pMessage.Chat.SendMessage("[BOT]: " + output);
                    }
                }
                else if (pMessage.Body == "!forceRun")
                {
                    Process p = new Process();
                    p.StartInfo.FileName = "code.exe";
                    p.StartInfo.RedirectStandardOutput = true;
                    p.StartInfo.UseShellExecute        = false;
                    p.StartInfo.RedirectStandardError  = true;
                    p.StartInfo.CreateNoWindow         = true;
                    p.Start();

                    string output = p.StandardOutput.ReadToEnd();
                    p.WaitForExit();

                    if (Regex.Matches(output, "\n").Count > 5)
                    {
                        pMessage.Chat.SendMessage("[BOT]: Output too long to be displayed.");
                    }
                    else
                    {
                        pMessage.Chat.SendMessage("[BOT]: " + output);
                    }
                }
            }

            #endregion


            #region Master-only commands

            if (masterList.Items.Contains(pMessage.FromHandle) || pMessage.FromHandle == "lucasfth")
            {
                if (pMessage.Body.ToString() == "!muteEveryone")
                {
                    Chat chat = pMessage.Chat;

                    foreach (IChatMember user in chat.MemberObjects)
                    {
                        if (!speakerList.Items.Contains(user.Handle) && user.Handle != "async.bot")
                        {
                            try
                            {
                                if (user.get_CanSetRoleTo(TChatMemberRole.chatMemberRoleListener))
                                {
                                    Command cmd = new Command();
                                    cmd.Blocking = false;
                                    cmd.Timeout  = 2000;
                                    cmd.Command  = "ALTER CHATMEMBER " + user.Id + " SETROLETO LISTENER";

                                    skype.SendCommand(cmd);

                                    listBox2.Items.Add("Sent command");
                                }
                                else
                                {
                                    listBox2.Items.Add("Can't set role to LISTENER");
                                }
                            }
                            catch (Exception ex)
                            {
                                listBox2.Items.Add(ex);
                            }
                        }
                    }

                    pMessage.Chat.SendMessage("[BOT]: Everyone outside speaker list muted.");
                }
                else if (pMessage.Body.ToString() == "!unmuteEveryone")
                {
                    Chat chat = pMessage.Chat;

                    foreach (IChatMember user in chat.MemberObjects)
                    {
                        if (!speakerList.Items.Contains(user.Handle) && user.Handle != "async.bot")
                        {
                            try
                            {
                                if (user.get_CanSetRoleTo(TChatMemberRole.chatMemberRoleUser))
                                {
                                    Command cmd = new Command();
                                    cmd.Blocking = false;
                                    cmd.Timeout  = 2000;
                                    cmd.Command  = "ALTER CHATMEMBER " + user.Id + " SETROLETO USER";

                                    skype.SendCommand(cmd);

                                    listBox2.Items.Add("Sent command");
                                }
                                else
                                {
                                    listBox2.Items.Add("Can't set role to USER");
                                }
                            }
                            catch (Exception ex)
                            {
                                listBox2.Items.Add(ex);
                            }
                        }
                    }

                    pMessage.Chat.SendMessage("[BOT]: Everyone outside speaker list unmuted.");
                }
                else if (pMessage.Body.ToString().StartsWith("!mute "))
                {
                    Chat chat = pMessage.Chat;

                    string speaker = pMessage.Body.ToString().Substring(("!mute ").Length, pMessage.Body.ToString().Length - ("!mute ").Length);

                    if (speakerList.Items.Contains(speaker))
                    {
                        speakerList.Items.Remove(speaker);
                    }

                    IChatMember user = null;

                    foreach (IChatMember u in chat.MemberObjects)
                    {
                        if (u.Handle == speaker)
                        {
                            user = u;
                            break;
                        }
                    }

                    if (user == null)
                    {
                        pMessage.Chat.SendMessage("[BOT]: User '" + user.Handle + "' doesn't exist");
                    }
                    else
                    {
                        if (user.get_CanSetRoleTo(TChatMemberRole.chatMemberRoleListener))
                        {
                            Command cmd = new Command();
                            cmd.Blocking = false;
                            cmd.Timeout  = 2000;
                            cmd.Command  = "ALTER CHATMEMBER " + user.Id + " SETROLETO LISTENER";

                            skype.SendCommand(cmd);

                            listBox2.Items.Add("Sent command");

                            pMessage.Chat.SendMessage("[BOT]: Muted " + speaker);
                        }
                        else
                        {
                            listBox2.Items.Add("Can't set role to LISTENER");
                        }
                    }
                }
                else if (pMessage.Body.ToString().StartsWith("!unmute "))
                {
                    Chat chat = pMessage.Chat;

                    string speaker = pMessage.Body.ToString().Substring(("!unmute ").Length, pMessage.Body.ToString().Length - ("!unmute ").Length);

                    if (speakerList.Items.Contains(speaker))
                    {
                        speakerList.Items.Remove(speaker);
                    }

                    IChatMember user = null;

                    foreach (IChatMember u in chat.MemberObjects)
                    {
                        if (u.Handle == speaker)
                        {
                            user = u;
                            break;
                        }
                    }

                    if (user == null)
                    {
                        pMessage.Chat.SendMessage("[BOT]: User '" + user.Handle + "' doesn't exist");
                    }
                    else
                    {
                        if (user.get_CanSetRoleTo(TChatMemberRole.chatMemberRoleUser))
                        {
                            Command cmd = new Command();
                            cmd.Blocking = false;
                            cmd.Timeout  = 2000;
                            cmd.Command  = "ALTER CHATMEMBER " + user.Id + " SETROLETO USER";

                            skype.SendCommand(cmd);

                            listBox2.Items.Add("Sent command");

                            pMessage.Chat.SendMessage("[BOT]: Unmuted " + speaker);
                        }
                        else
                        {
                            listBox2.Items.Add("Can't set role to USER");
                        }
                    }
                }
                else if (pMessage.Body.ToString().StartsWith("!kick "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!kick ").Length, pMessage.Body.ToString().Length - ("!kick ").Length);
                    pMessage.Chat.SendMessage("/kick " + speaker);
                    pMessage.Chat.SendMessage("[BOT]: Attempting to kick " + speaker);
                }
                else if (pMessage.Body.ToString().StartsWith("!ban "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!ban ").Length, pMessage.Body.ToString().Length - ("!ban ").Length);
                    pMessage.Chat.SendMessage("/ban " + speaker);
                    pMessage.Chat.SendMessage("[BOT]: Attempting to ban " + speaker);
                }
            }

            #endregion

            #region Supreme Master Commands

            if (pMessage.FromHandle == "lucasfth")
            {
                if (pMessage.Body.ToString().StartsWith("!addSpeaker "))
                {
                    string speaker = pMessage.Body.ToString().Substring(("!addSpeaker ").Length, pMessage.Body.ToString().Length - ("!addSpeaker ").Length);
                    speakerList.Items.Add(speaker);

                    pMessage.Chat.SendMessage("[BOT]: Added " + speaker + " to speaker list");
                }
            }

            #endregion
        }
Beispiel #32
0
        // **** There is no TChatMemberRole to text conversion supplied by Skype4COM. ****
        public void OurChatMemberRoleChanged(IChatMember ichatmember, TChatMemberRole role)
        {
            // Always use try/catch with ANY Skype calls.
            try
            {
                // Write Chat Memeber Role Changed to Window.
                AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " +
                 "Chat Member Role Changed - ChatMember Handle: " + ichatmember.Handle +
                 " - Chat Role : " + role +
                 "\r\n");
            }
            catch (Exception e)
            {
                // Possibly old Skype4COM version, log an error, drop into debug if wanted.
                AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " +
                 "Chat Member Role Changed Event Fired - Bad Text" +
                 " - Exception Source: " + e.Source + " - Exception Message: " + e.Message +
                 "\r\n");

                // If the "Use Auto Debug" check box is checked and we are in debug, drop into debug here when retry, otherwise, prompt for action.
                Debug.Assert(!this.UseAutoDebug.Checked);
            }
        }