From b1c7ac7120642799b887ffd41567c0a8fa819a48 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Mon, 15 Feb 2021 02:26:50 -0500 Subject: open dm tries to bring you to new dm if it doesnt exist now --- abaddon.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'abaddon.cpp') 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() { -- cgit v1.2.3