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 = ['' + statusEmoji + ' ' + subject + '']; 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('
'), msgtype: 'm.notice' };