diff options
Diffstat (limited to 'abaddon.cpp')
-rw-r--r-- | abaddon.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/abaddon.cpp b/abaddon.cpp index 42c02ac..42fe5e5 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -324,7 +324,15 @@ void Abaddon::on_user_menu_open_dm() { if (existing.has_value()) ActionChannelOpened(*existing); else - m_discord.CreateDM(m_shown_user_menu_id); + m_discord.CreateDM(m_shown_user_menu_id, [this](bool success, Snowflake channel_id) { + if (success) { + // give the gateway a little window to send CHANNEL_CREATE + auto cb = [this, channel_id] { + ActionChannelOpened(channel_id); + }; + Glib::signal_timeout().connect_once(sigc::track_obj(cb, *this), 200); + } + }); } void Abaddon::ActionConnect() { |