Comments (11)
检查一下mah的配置文件,有没有开启ws(websocket)
内容大概是:
adapter:
- http
- ws
理论上没开启ws应该要抛出异常,但是不知道为何没有抛出异常。(难以抽出时间维护该项目,该问题可能长期存在)
from mirai-cpp.
检查一下mah的配置文件,有没有开启ws(websocket)
内容大概是:
adapter: - http - ws
理论上没开启ws应该要抛出异常,但是不知道为何没有抛出异常。(难以抽出时间维护该项目,该问题可能长期存在)
mah的配置文件中是开启了ws的,并且在mirai主程序的控制台输出中也显示 Mirai HTTP API: adaptors: [http,ws]
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢?
有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:
bot.On<EventParsingError>([&](EventParsingError e)
{
try
{
e.Rethrow();
}
catch (const std::exception& ex)
{
cout << "解析事件时出现错误: " << ex.what() << endl;
}
});
更有可能是网络问题,检查 hostname,port 有没有设置错误。
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢? 有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:
bot.On<EventParsingError>([&](EventParsingError e) { try { e.Rethrow(); } catch (const std::exception& ex) { cout << "解析事件时出现错误: " << ex.what() << endl; } });更有可能是网络问题,检查 hostname,port 有没有设置错误。
是所有事件都无法触发,包括例程也是。这个函数我也试了,也没有被触发。hostname和port应该没有配置出错。请问程序有日志系统之类的东西用来分析吗?
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢? 有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:bot.On<EventParsingError>([&](EventParsingError e) { try { e.Rethrow(); } catch (const std::exception& ex) { cout << "解析事件时出现错误: " << ex.what() << endl; } });更有可能是网络问题,检查 hostname,port 有没有设置错误。
是所有事件都无法触发,包括例程也是。这个函数我也试了,也没有被触发。hostname和port应该没有配置出错。请问程序有日志系统之类的东西用来分析吗?
那就只能是网络问题了。
你可以试着在 mirai_bot.cpp 的这一行 打断点,看看新事件到达时会不会触发断点,如果不会,说明 Websocket 没成功建立连接。
然后在 websocketClient.cpp 的这一行打断点,检查局部变量 response_buffer 的内容。(我猜测可能还没执行到这里就抛出异常了)
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢? 有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:bot.On<EventParsingError>([&](EventParsingError e) { try { e.Rethrow(); } catch (const std::exception& ex) { cout << "解析事件时出现错误: " << ex.what() << endl; } });更有可能是网络问题,检查 hostname,port 有没有设置错误。
是所有事件都无法触发,包括例程也是。这个函数我也试了,也没有被触发。hostname和port应该没有配置出错。请问程序有日志系统之类的东西用来分析吗?
那就只能是网络问题了。
你可以试着在 mirai_bot.cpp 的这一行 打断点,看看新事件到达时会不会触发断点,如果不会,说明 Websocket 没成功建立连接。
然后在 websocketClient.cpp 的这一行打断点,检查局部变量 response_buffer 的内容。(我猜测可能还没执行到这里就抛出异常了)
有进入第一个断点,在第二个断电response_buffe的内容是101 switching protocois
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢? 有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:bot.On<EventParsingError>([&](EventParsingError e) { try { e.Rethrow(); } catch (const std::exception& ex) { cout << "解析事件时出现错误: " << ex.what() << endl; } });更有可能是网络问题,检查 hostname,port 有没有设置错误。
是所有事件都无法触发,包括例程也是。这个函数我也试了,也没有被触发。hostname和port应该没有配置出错。请问程序有日志系统之类的东西用来分析吗?
那就只能是网络问题了。
你可以试着在 mirai_bot.cpp 的这一行 打断点,看看新事件到达时会不会触发断点,如果不会,说明 Websocket 没成功建立连接。
然后在 websocketClient.cpp 的这一行打断点,检查局部变量 response_buffer 的内容。(我猜测可能还没执行到这里就抛出异常了)有进入第一个断点,在第二个断电response_buffe的内容是101 switching protocois
看起来没有问题啊,图中显示你收到了刚建立连接时MAH发的一个包,试着给你的机器人发条消息触发消息事件,看看还能进入第一个断点吗。
会不会是因为网络原因断开连接了,记得处理 LostConnection 事件。
from mirai-cpp.
是所有事件都无法触发回调函数吗,具体是哪个事件呢? 有试过 FriendMessage, GroupMessage, Message 这类事件吗,有些不常用事件缺乏测试,可能哪里写错了没发现导致无法触发。
也试试捕捉事件解析错误:bot.On<EventParsingError>([&](EventParsingError e) { try { e.Rethrow(); } catch (const std::exception& ex) { cout << "解析事件时出现错误: " << ex.what() << endl; } });更有可能是网络问题,检查 hostname,port 有没有设置错误。
是所有事件都无法触发,包括例程也是。这个函数我也试了,也没有被触发。hostname和port应该没有配置出错。请问程序有日志系统之类的东西用来分析吗?
那就只能是网络问题了。
你可以试着在 mirai_bot.cpp 的这一行 打断点,看看新事件到达时会不会触发断点,如果不会,说明 Websocket 没成功建立连接。
然后在 websocketClient.cpp 的这一行打断点,检查局部变量 response_buffer 的内容。(我猜测可能还没执行到这里就抛出异常了)看起来没有问题啊,图中显示你收到了刚建立连接时MAH发的一个包,试着给你的机器人发条消息触发消息事件,看看还能进入第一个断点吗。
会不会是因为网络原因断开连接了,记得处理 LostConnection 事件。
发送消息后有进入第一个断点
但是没有进入回调函数
from mirai-cpp.
这问题有点奇怪,我也看不懂了……
截图里你收到了 FriendInputStatusChangedEvent 事件,第一个断点你是否进入了两次?(第二次才是真正的好友消息事件)
试试 bot.On 看看能不能触发 FriendInputStatusChangedEvent 事件的回调函数。
from mirai-cpp.
也可以加Q群 1013323391,可能交流方便点。// TODO: 将真实原因和解决方案回复在该帖子。
from mirai-cpp.
错误原因:注释了 magic_enum 的断言,虽然通过编译,但是 magic_enum 不能正常工作。
解决方法:升级 MinGW
magic_enum 对编译器的要求:
- Clang/LLVM >= 5
- MSVC++ >= 14.11 / Visual Studio >= 2017
- Xcode >= 10
- GCC >= 9
- MinGW >= 9
from mirai-cpp.
Related Issues (20)
- 发送语音消息时VoiceMessage::length_未初始化导致mirai-api-http可能返回400
- 希望能给GroupMessage添加一个GroupId HOT 2
- 新增一系列无异常的 Try* 模式的接口
- 有关LostConnectionCallback的一些问题 HOT 3
- 目前的项目在使用mirai-cpp,可否在readme做下推广呢? HOT 1
- 关于MessageChain == 比较的问题 [Bug?] HOT 1
- 更新cpp-httplib以保证线程安全 HOT 1
- 拼写错误,解析json失败 HOT 1
- 将 const std::string& 替换为 std::string_view 以简化代码
- 在使用httplib::Client时出现错误 HOT 6
- 有时QQ客户端收不到消息 HOT 2
- 有关VoiceMessage的问题 HOT 2
- Command.Member->Group.GID 可能为空 HOT 3
- MFC开发 HOT 1
- 分享一个非常蒻的Bot HOT 1
- 关于VoiceMessage.Url() HOT 3
- 关于MessageChain().Add<VoiceMessage>(); HOT 9
- 无法上传文件 HOT 3
- mirai-cpp-template的main函数中的端口设置似乎不起作用
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mirai-cpp.