summaryrefslogtreecommitdiff
path: root/src/discord/discord.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-02-01 22:39:59 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2023-02-01 22:39:59 -0500
commitff812842e3f6943c248e57d464d4085b51abf343 (patch)
tree226e97aead191c4ebb7a72d8b475cff7763f7363 /src/discord/discord.cpp
parentff47134dc64ac2f0fa7bfee64313b2522709b9b9 (diff)
parentb4d3fc44c5cc24dcbe4f6fdc0ffe73acdb95cda9 (diff)
downloadabaddon-portaudio-ff812842e3f6943c248e57d464d4085b51abf343.tar.gz
abaddon-portaudio-ff812842e3f6943c248e57d464d4085b51abf343.zip
Merge branch 'folders'
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r--src/discord/discord.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index d7cee4c..360c632 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1202,6 +1202,10 @@ void DiscordClient::SetUserAgent(const std::string &agent) {
m_websocket.SetUserAgent(agent);
}
+void DiscordClient::SetDumpReady(bool dump) {
+ m_dump_ready = dump;
+}
+
bool DiscordClient::IsChannelMuted(Snowflake id) const noexcept {
return m_muted_channels.find(id) != m_muted_channels.end();
}
@@ -1564,6 +1568,17 @@ void DiscordClient::ProcessNewGuild(GuildData &guild) {
void DiscordClient::HandleGatewayReady(const GatewayMessage &msg) {
m_ready_received = true;
+
+ if (m_dump_ready) {
+ const auto name = "./payload_ready-" + Glib::DateTime::create_now_utc().format("%Y-%m-%d_%H-%M-%S") + ".json";
+ auto *fp = std::fopen(name.c_str(), "wb");
+ if (fp != nullptr) {
+ const auto contents = msg.Data.dump(4);
+ std::fwrite(contents.data(), contents.size(), 1, fp);
+ std::fclose(fp);
+ }
+ }
+
ReadyEventData data = msg.Data;
for (auto &g : data.Guilds)
ProcessNewGuild(g);
@@ -2275,6 +2290,10 @@ std::set<Snowflake> DiscordClient::GetPrivateChannels() const {
return {};
}
+const UserSettings &DiscordClient::GetUserSettings() const {
+ return m_user_settings;
+}
+
EPremiumType DiscordClient::GetSelfPremiumType() const {
const auto &data = GetUserData();
if (data.PremiumType.has_value())