Skype机器人C#运行不正常

Skype机器人C#运行不正常,c#,bots,skype,skype4com,C#,Bots,Skype,Skype4com,我正在用C#制作一个Skype机器人,但我遇到了一个问题。它不是读取我自己的命令,而是读取别人收到的命令 当我添加诸如“!Resolve(username)”之类的内容时,它会使代码被bugged up弄糟,我的意思是,当我启动它时,它会使工具崩溃 谁能看看有没有什么大问题 private Skype skype; private const string trigger = "!"; private const string nick = "The OG Bot"; 还有这个

我正在用C#制作一个Skype机器人,但我遇到了一个问题。它不是读取我自己的命令,而是读取别人收到的命令

当我添加诸如“!Resolve(username)”之类的内容时,它会使代码被bugged up弄糟,我的意思是,当我启动它时,它会使工具崩溃

谁能看看有没有什么大问题

private Skype skype;
    private const string trigger = "!";
    private const string nick = "The OG Bot";
还有这个

private string ProcessCommand(string str)
    {
        string result;
        switch (str)
        {
            case "resolve":
                result = "Currently Not Working Will Fix Soon.";
                break;
            case "help":
                result = "Here are some commands you can run. \n !resolve \n !date \n !time \n !who \n !swag \n !ip";
                break;
            case "date":
                result = "Current Date is: " + DateTime.Now.ToLongDateString();
                break;
            case "time":
                result = "Current Time is: " + DateTime.Now.ToLongTimeString();
                break;
            case "who":
                result = "This API was created by TehMerkMods";
                break;
            case "ip":
                result = new WebClient().DownloadString("http://icanhazip.com");
                break;
            case "swag":
                result = "(mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) (mm) ";
                break;
            default:
                result = "Sorry, I do not recognize your command";
                break;
        }

        return result;
    }
最后

private void skype_MessageStatus(ChatMessage msg, TChatMessageStatus status)
    {
        if (TChatMessageStatus.cmsRead == status)
        {
            return;
        }

        if (msg.Body.IndexOf(trigger) == 0 && TChatMessageStatus.cmsReceived == status)
        {
            string command = msg.Body.Remove(0, trigger.Length).ToLower();
            skype.SendMessage(msg.Sender.Handle, nick + " : " + ProcessCommand(command));
        }
    }

在代码的最后一部分中有一个if语句,它只查找TChatMessageStatus.cmsReceived。当您发送消息时,此语句永远不会正确,因为您没有收到自己的消息


至于程序崩溃。。。您需要提供更多信息。

您只收到“已接收”,还需要收到“发送”

例如:

if (TChatMessageStatus.cmsReceived Or Status = TChatMessageStatus.cmsSent)

你说“让代码都被窃听”是什么意思?请描述你期望的行为和你看到的行为。我们需要详细信息。@Amy好的,基本上它不会抓取函数,之后它只会给我一个生成错误,基本上它无法读取我自己的命令,我做过的任何事情,但读取其他用户发送的命令很好。你能不能发布它崩溃时收到的错误?你得到了一个生成错误?什么构建错误?当我说我们需要细节时,我的意思是你需要向我们提供细节。要具体,不要含糊。