mirror of
https://gitlab.com/niansa/dpplogger.git
synced 2025-03-06 20:48:29 +01:00
Make sure presence client status is object
This commit is contained in:
parent
176ef1d0e1
commit
64e056610b
1 changed files with 11 additions and 5 deletions
16
main.cpp
16
main.cpp
|
@ -458,7 +458,7 @@ protected:
|
||||||
bool is_online;
|
bool is_online;
|
||||||
{
|
{
|
||||||
const auto& client_status = data["client_status"];
|
const auto& client_status = data["client_status"];
|
||||||
if (client_status.isArray() && !client_status.getMemberNames().empty()) {
|
if (client_status.isObject() && !client_status.empty()) {
|
||||||
const auto device = client_status.getMemberNames()[0];
|
const auto device = client_status.getMemberNames()[0];
|
||||||
status_str = "[\""+client_status[device].asString()+"\", \""+device+"\"]";
|
status_str = "[\""+client_status[device].asString()+"\", \""+device+"\"]";
|
||||||
is_online = true;
|
is_online = true;
|
||||||
|
@ -520,14 +520,20 @@ protected:
|
||||||
} else if (intent == "CHANNEL_UPDATE") [[unlikely]] {
|
} else if (intent == "CHANNEL_UPDATE") [[unlikely]] {
|
||||||
if (cache.store(data).changed) cache.store(std::move(data));
|
if (cache.store(data).changed) cache.store(std::move(data));
|
||||||
} else if (intent == "CHANNEL_DELETE") [[unlikely]] {
|
} else if (intent == "CHANNEL_DELETE") [[unlikely]] {
|
||||||
insertChannelDelete(data["id"]);
|
const auto& guild_id = data["guild_id"];
|
||||||
|
if (guild_id.isString()) {
|
||||||
|
insertChannelDelete(guild_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (intent == "GUILD_MEMBER_ADD" || intent == "GUILD_MEMBER_UDATE") [[unlikely]] {
|
else if (intent == "GUILD_MEMBER_ADD" || intent == "GUILD_MEMBER_UDATE") [[unlikely]] {
|
||||||
auto guild_id = std::move(data["guild_id"]);
|
auto guild_id = std::move(data["guild_id"]);
|
||||||
updateMember(std::move(data), guild_id.asString());
|
updateMember(std::move(data), guild_id.asString());
|
||||||
} else if (intent == "GUILD_MEMBER_REMOVE") [[unlikely]] {
|
} else if (intent == "GUILD_MEMBER_REMOVE") [[unlikely]] {
|
||||||
const auto& user_data = cache.store(data["user"]).data;
|
const auto& user_data = data["user"];
|
||||||
insertMemberDelete(user_data["id"], data["guild_id"]);
|
if (user_data["username"].isString()) {
|
||||||
|
cache.store(user_data);
|
||||||
|
insertMemberDelete(user_data["id"], data["guild_id"]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (intent == "VOICE_STATE_UPDATE") {
|
else if (intent == "VOICE_STATE_UPDATE") {
|
||||||
updateMemberVoiceConnection(std::move(data));
|
updateMemberVoiceConnection(std::move(data));
|
||||||
|
@ -563,7 +569,7 @@ int main(int argc, char **argv) {
|
||||||
// Set up client
|
// Set up client
|
||||||
auto client = std::make_shared<MyClient>(io, Discord::Settings{
|
auto client = std::make_shared<MyClient>(io, Discord::Settings{
|
||||||
.bot_token = argv[1],
|
.bot_token = argv[1],
|
||||||
.intents = Discord::intents::all,
|
.intents = Discord::intents::all & ~Discord::intents::direct_messages,
|
||||||
.is_bot = false
|
.is_bot = false
|
||||||
});
|
});
|
||||||
client->detach();
|
client->detach();
|
||||||
|
|
Loading…
Add table
Reference in a new issue