Files

29 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

var evtype = data.notification_type || data.event || 'Notification';
var subject = data.subject || evtype;
var message = data.message || '';
var media = data.media || {};
var request = data.request || {};
var issue = data.issue || {};
var comment = data.comment || {};
var user = request.requestedBy_username || request.requestedBy_email || (data.account && data.account.username) || '';
var mt = media.media_type || '';
var status4k = media.status4k || 0;
var typeEmoji = mt === 'movie' ? '🎬' : (mt === 'tv' ? '📺' : '📋');
var statusEmoji;
if (evtype.indexOf('PENDING') >= 0) statusEmoji = '🟡';
else if (evtype.indexOf('APPROVED') >= 0 || evtype.indexOf('AVAILABLE') >= 0) statusEmoji = '✅';
else if (evtype.indexOf('DECLINED') >= 0 || evtype.indexOf('FAILED') >= 0) statusEmoji = '❌';
else if (evtype.indexOf('ISSUE') >= 0) statusEmoji = '⚠️';
else if (evtype.indexOf('COMMENT') >= 0) statusEmoji = '💬';
else statusEmoji = typeEmoji;
var lines = [statusEmoji + ' ' + subject];
var htmlParts = ['<b>' + statusEmoji + ' ' + subject + '</b>'];
if (user) { lines.push('Requested by: ' + user); htmlParts.push('Requested by: ' + user); }
if (message && message !== subject) { lines.push(message); htmlParts.push(message); }
if (status4k) { lines.push('4K request'); htmlParts.push('4K request'); }
if (issue.issue_type) {
var issueLine = 'Issue: ' + issue.issue_type + (issue.message ? ' \u2014 ' + issue.message : '');
lines.push(issueLine); htmlParts.push(issueLine);
}
if (comment.message) { lines.push('Comment: ' + comment.message); htmlParts.push('Comment: ' + comment.message); }
result = { version: 'v2', plain: lines.join('\n'), html: htmlParts.join('<br>'), msgtype: 'm.notice' };