44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#include "user.h"
|
|
#include "twitchmessage.h"
|
|
#include <QStringList>
|
|
|
|
void User::updateFromTwitchMessage(const TwitchMessage &msg)
|
|
{
|
|
// Базовые данные
|
|
if (!msg.displayName.isEmpty()) {
|
|
displayName = msg.displayName;
|
|
}
|
|
|
|
if (!msg.color.isEmpty()) {
|
|
color = msg.color;
|
|
}
|
|
|
|
if (msg.userId > 0) {
|
|
id = QString::number(msg.userId);
|
|
login = msg.displayName.toLower(); // Логин обычно в нижнем регистре
|
|
}
|
|
|
|
// Статусы
|
|
isModerator = msg.isMod;
|
|
isVIP = msg.isVIP;
|
|
isSubscriber = msg.isSubscriber;
|
|
isTurbo = msg.isTurbo;
|
|
returningChatter = msg.returningChatter;
|
|
|
|
if (msg.firstMsg) {
|
|
firstMsg = true;
|
|
}
|
|
|
|
// Бейджи
|
|
badges.clear();
|
|
for (const auto &badge : msg.badges) {
|
|
badges.append(UserBadge(badge.name, badge.version));
|
|
}
|
|
|
|
// Время последнего сообщения
|
|
lastMessageTime = msg.timestamp();
|
|
|
|
// Увеличиваем счетчик сообщений
|
|
messageCount++;
|
|
}
|