var ev = data.eventType || 'Unknown';
if (ev === 'Test') {
result = { version: 'v2', plain: '๐งช Lidarr: Connection test successful', msgtype: 'm.notice' };
} else {
var artist = (data.artist && data.artist.name) || 'Unknown Artist';
var albums = data.albums || (data.album ? [data.album] : []);
var albumStr = albums.map(function(a){ return a.title || ''; }).filter(Boolean).join(', ');
var quality = (data.release && data.release.quality) || (data.trackFiles && data.trackFiles[0] && data.trackFiles[0].quality) || '';
var releaseGroup = (data.release && data.release.releaseGroup) || '';
var client = data.downloadClient || '';
var upgrade = data.isUpgrade ? ' \u2191upgrade' : '';
var healthMsg = data.message || '';
var healthWiki = data.wikiUrl || '';
var prevVer = data.previousVersion || '';
var newVer = data.newVersion || '';
var emojiMap = { 'Grab':'๐ฅ','Download':'โ
','Rename':'โ๏ธ','ArtistAdd':'โ','ArtistDelete':'๐๏ธ','AlbumAdd':'โ','AlbumDelete':'๐๏ธ','TrackFileDelete':'๐๏ธ','HealthIssue':'โ ๏ธ','HealthRestored':'๐','ApplicationUpdate':'๐' };
var emoji = emojiMap[ev] || '๐ต';
var plain, html;
if (ev === 'HealthIssue' || ev === 'HealthRestored') {
plain = emoji + ' Lidarr ' + ev + ': ' + healthMsg + (healthWiki ? '\n' + healthWiki : '');
html = '' + emoji + ' Lidarr ' + ev + ': ' + healthMsg + (healthWiki ? '
Wiki' : '');
} else if (ev === 'ApplicationUpdate') {
plain = emoji + ' Lidarr updated: ' + prevVer + ' \u2192 ' + newVer;
html = '' + emoji + ' Lidarr updated: ' + prevVer + ' \u2192 ' + newVer;
} else if (ev === 'ArtistAdd' || ev === 'ArtistDelete') {
plain = emoji + ' Lidarr ' + ev + ': ' + artist;
html = '' + emoji + ' Lidarr ' + ev + ': ' + artist;
} else {
var albumPart = albumStr ? ' \u2014 ' + albumStr : '';
var qualPart = quality ? ' [' + quality + ']' : '';
var groupPart = releaseGroup ? ' {' + releaseGroup + '}' : '';
var clientPart = client ? ' via ' + client : '';
plain = emoji + ' Lidarr ' + ev + ': ' + artist + albumPart + qualPart + groupPart + upgrade + clientPart;
html = '' + emoji + ' Lidarr ' + ev + ': ' + artist + (albumStr ? ' \u2014 ' + albumStr + '' : '') + qualPart + groupPart + upgrade + clientPart;
}
result = { version: 'v2', plain: plain, html: html, msgtype: 'm.notice' };
}