Mirai.Net
Mirai.Net copied to clipboard
[BUG]无法获取NudgeEvent
发生了什么事? 无法获取NudgeEvent
怎么复现?
bot.MessageReceived
.OfType<NudgeEvent>()
.Subscribe(Received =>
{
Console.WriteLine($"[{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}][INFO]收到来自{Received.FromId}的戳一戳。");
if (Received.Target != "114514" || Received.FromId == "114514")
{
return;
}
else
{
MessageManager.SendNudgeAsync(Received.FromId, Received.Subject.Id, MessageReceivers.Group);
}
});
你以为它会做什么? 本应在收到戳一戳消息后在控制台输出消息来源,并且戳发出戳一戳的人,但似乎并无法收到NudgeEvent消息 Mirai控制台可以看见Mirai是有收到戳一戳的。
截图
环境
- 操作系统:Windows 10 22H1/Windows Server 2022
- Mirai版本:v2.12.0
- Mirai http Api版本:v2.5.2
- Mirai.Net 版本:2.4.2
GroupMessageReceived可以正常获取
bot.MessageReceived
.OfType<GroupMessageReceiver>()
.Subscribe(Received =>
{
if (Received.MessageChain.GetPlainMessage() == "戳一戳")
{
MessageManager.SendNudgeAsync(Received.Sender.Id, Received.GroupId, MessageReceivers.Group);
}
});
我手动写websocket也收不到, 大概是mirai-api-http的原因? 去那里问问吧
因为你试图用消息订阅源bot.MessageReceived来接收一个事件,应该改用bot.EventReceived
因为你试图用消息订阅源bot.MessageReceived来接收一个事件,应该改用bot.EventReceived
十分感谢,好了,是我太菜了(