0

我有个问题。我开始使用 TwitchLib 来播放一些 API,但我遇到了事件问题。在这里,我有来自我的班级“ChatBot”的代码,其中有用于连接到我的 Twitch 帐户并接收例如聊天消息的整个主要代码。并且消息尽可能地显示在“ChatBot”类中,但是当我创建另一个公共事件以能够接收这些消息以及其余数据(并且它充满了它们)时,然后在“ MessageReceivedEvent (sender, e);" 我收到消息“MessageReceivedEvent (sender, e);” 一片空白。我想问你我做错了什么?毕竟分配了数据,所以 MessageReceivedEvent 不应该为空。

        public event EventHandler <OnMessageReceivedArgs> MessageReceivedEvent; <- this is at the top of the code

        public void MessageReceived (object sender, OnMessageReceivedArgs e) <- This is an Event with TwitchLib
        {
            try
            {
                //Here I get the message that the code below is Null - This is an Event created by me
                MessageReceivedEvent (sender, e);
            }
            catch (Exception ex)
            {
                Console.WriteLine ("[MessageReceivedEvent]" + ex.Message);
            }


            // This code below works
            if (e.ChatMessage.Message.StartsWith ("hi", StringComparison.InvariantCultureIgnoreCase))
            {
                client.SendMessage (TwitchInfo.ChannelName, "Hi!" + e.ChatMessage.DisplayName);
            }
}

在我想从 ChatBot 接收消息的 UserControl 中,我有:

        ChatBot bot = new ChatBot();

        private void Chat_Load (object sender, EventArgs e)
        {
            bot.MessageReceivedEvent + = Bot_MessageReceivedEvent;
        }

        private void Bot_MessageReceivedEvent (object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e)
        {
            Console.WriteLine (e.ChatMessage.Message);
        }

有什么方法可以接受这个事件吗?我看到 StackOverflow 有很多关于这个问题的主题,但我不能在我的代码中使用任何解决方案。

4

0 回答 0