mirror of
https://github.com/celisej567/abaddon.git
synced 2026-09-19 20:11:59 +03:00
pass message object through signal instead of just the id
This commit is contained in:
@@ -299,12 +299,11 @@ ChannelList::ChannelList() {
|
||||
|
||||
// maybe will regret doing it this way
|
||||
auto &discord = Abaddon::Get().GetDiscordClient();
|
||||
auto cb = [this, &discord](Snowflake message_id) {
|
||||
const auto message = discord.GetMessage(message_id);
|
||||
const auto channel = discord.GetChannel(message->ChannelID);
|
||||
auto cb = [this, &discord](const Message &message) {
|
||||
const auto channel = discord.GetChannel(message.ChannelID);
|
||||
if (!channel.has_value()) return;
|
||||
if (channel->Type == ChannelType::DM || channel->Type == ChannelType::GROUP_DM)
|
||||
CheckBumpDM(message->ChannelID);
|
||||
CheckBumpDM(message.ChannelID);
|
||||
};
|
||||
discord.signal_message_create().connect(sigc::track_obj(cb, *this));
|
||||
}
|
||||
|
||||
@@ -76,10 +76,8 @@ void ChatInputIndicator::OnUserTypingStart(Snowflake user_id, Snowflake channel_
|
||||
AddUser(channel_id, *user, 10);
|
||||
}
|
||||
|
||||
void ChatInputIndicator::OnMessageCreate(Snowflake message_id) {
|
||||
const auto msg = Abaddon::Get().GetDiscordClient().GetMessage(message_id);
|
||||
if (!msg.has_value()) return;
|
||||
m_typers[msg->ChannelID].erase(msg->Author.ID);
|
||||
void ChatInputIndicator::OnMessageCreate(const Message &message) {
|
||||
m_typers[message.ChannelID].erase(message.Author.ID);
|
||||
ComputeTypingString();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
#include <gtkmm.h>
|
||||
#include <unordered_map>
|
||||
#include "../discord/snowflake.hpp"
|
||||
#include "../discord/message.hpp"
|
||||
#include "../discord/user.hpp"
|
||||
|
||||
class ChatInputIndicator : public Gtk::Box {
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
private:
|
||||
void AddUser(Snowflake channel_id, const UserData &user, int timeout);
|
||||
void OnUserTypingStart(Snowflake user_id, Snowflake channel_id);
|
||||
void OnMessageCreate(Snowflake message_id);
|
||||
void OnMessageCreate(const Message &message);
|
||||
void SetTypingString(const Glib::ustring &str);
|
||||
void ComputeTypingString();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user