Make join and part messages have user links (#3358)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -865,8 +865,8 @@ void IrcMessageHandler::handleNoticeMessage(Communi::IrcNoticeMessage *message)
|
||||
auto users = msgParts.at(1)
|
||||
.mid(1) // there is a space before the first user
|
||||
.split(", ");
|
||||
TwitchMessageBuilder::modsOrVipsSystemMessage(msgParts.at(0), users,
|
||||
tc, &builder);
|
||||
TwitchMessageBuilder::listOfUsersSystemMessage(msgParts.at(0),
|
||||
users, tc, &builder);
|
||||
channel->addMessage(builder.release());
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1460,10 +1460,10 @@ void TwitchMessageBuilder::deletionMessage(const DeleteAction &action,
|
||||
builder->message().timeoutUser = "msg:" + action.messageId;
|
||||
}
|
||||
|
||||
void TwitchMessageBuilder::modsOrVipsSystemMessage(QString prefix,
|
||||
QStringList users,
|
||||
TwitchChannel *channel,
|
||||
MessageBuilder *builder)
|
||||
void TwitchMessageBuilder::listOfUsersSystemMessage(QString prefix,
|
||||
QStringList users,
|
||||
Channel *channel,
|
||||
MessageBuilder *builder)
|
||||
{
|
||||
builder->emplace<TimestampElement>();
|
||||
builder->message().flags.set(MessageFlag::System);
|
||||
@@ -1471,6 +1471,7 @@ void TwitchMessageBuilder::modsOrVipsSystemMessage(QString prefix,
|
||||
builder->emplace<TextElement>(prefix, MessageElementFlag::Text,
|
||||
MessageColor::System);
|
||||
bool isFirst = true;
|
||||
auto tc = dynamic_cast<TwitchChannel *>(channel);
|
||||
for (const QString &username : users)
|
||||
{
|
||||
if (!isFirst)
|
||||
@@ -1483,9 +1484,9 @@ void TwitchMessageBuilder::modsOrVipsSystemMessage(QString prefix,
|
||||
|
||||
MessageColor color = MessageColor::System;
|
||||
|
||||
if (getSettings()->colorUsernames)
|
||||
if (tc && getSettings()->colorUsernames)
|
||||
{
|
||||
if (auto userColor = channel->getUserColor(username);
|
||||
if (auto userColor = tc->getUserColor(username);
|
||||
userColor.isValid())
|
||||
{
|
||||
color = MessageColor(userColor);
|
||||
|
||||
@@ -64,9 +64,9 @@ public:
|
||||
MessageBuilder *builder);
|
||||
static void deletionMessage(const DeleteAction &action,
|
||||
MessageBuilder *builder);
|
||||
static void modsOrVipsSystemMessage(QString prefix, QStringList users,
|
||||
TwitchChannel *channel,
|
||||
MessageBuilder *builder);
|
||||
static void listOfUsersSystemMessage(QString prefix, QStringList users,
|
||||
Channel *channel,
|
||||
MessageBuilder *builder);
|
||||
|
||||
private:
|
||||
void parseUsernameColor() override;
|
||||
|
||||
Reference in New Issue
Block a user