- Remove obsolete Python bot (Wordle, commands, callbacks, welcome) - Add hookshot/ — all 11 webhook transformation functions + deploy.sh - Add cinny/ — config.json and dev-update.sh (nightly dev branch build) - Add landing/ — matrix.lotusguild.org landing page HTML - Add systemd/ — livekit-server, draupnir, cinny cron unit files - Add draupnir/ — production config (access token redacted) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
2.4 KiB
JavaScript
37 lines
2.4 KiB
JavaScript
var ev = data.eventType || 'Unknown';
|
||
if (ev === 'Test') {
|
||
result = { version: 'v2', plain: '🧪 Readarr: Connection test successful', msgtype: 'm.notice' };
|
||
} else {
|
||
var author = (data.author && data.author.name) || 'Unknown Author';
|
||
var books = data.books || (data.book ? [data.book] : []);
|
||
var bookStr = books.map(function(b){ return b.title || ''; }).filter(Boolean).join(', ');
|
||
var quality = (data.release && data.release.quality) || (data.bookFile && data.bookFile.quality) || '';
|
||
var releaseGroup = (data.release && data.release.releaseGroup) || (data.bookFile && data.bookFile.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':'✏️','AuthorAdd':'➕','AuthorDelete':'🗑️','BookAdd':'➕','BookDelete':'🗑️','BookFileDelete':'🗑️','HealthIssue':'⚠️','HealthRestored':'💚','ApplicationUpdate':'🔄' };
|
||
var emoji = emojiMap[ev] || '📚';
|
||
var plain, html;
|
||
if (ev === 'HealthIssue' || ev === 'HealthRestored') {
|
||
plain = emoji + ' Readarr ' + ev + ': ' + healthMsg + (healthWiki ? '\n' + healthWiki : '');
|
||
html = '<b>' + emoji + ' Readarr ' + ev + '</b>: ' + healthMsg + (healthWiki ? '<br><a href="' + healthWiki + '">Wiki</a>' : '');
|
||
} else if (ev === 'ApplicationUpdate') {
|
||
plain = emoji + ' Readarr updated: ' + prevVer + ' \u2192 ' + newVer;
|
||
html = '<b>' + emoji + ' Readarr updated</b>: ' + prevVer + ' \u2192 ' + newVer;
|
||
} else if (ev === 'AuthorAdd' || ev === 'AuthorDelete') {
|
||
plain = emoji + ' Readarr ' + ev + ': ' + author;
|
||
html = '<b>' + emoji + ' Readarr ' + ev + '</b>: ' + author;
|
||
} else {
|
||
var titlePart = bookStr ? bookStr + ' by ' + author : author;
|
||
var qualPart = quality ? ' [' + quality + ']' : '';
|
||
var groupPart = releaseGroup ? ' {' + releaseGroup + '}' : '';
|
||
var clientPart = client ? ' via ' + client : '';
|
||
plain = emoji + ' Readarr ' + ev + ': ' + titlePart + qualPart + groupPart + upgrade + clientPart;
|
||
html = '<b>' + emoji + ' Readarr ' + ev + '</b>: ' + (bookStr ? '<i>' + bookStr + '</i> by ' + author : author) + qualPart + groupPart + upgrade + clientPart;
|
||
}
|
||
result = { version: 'v2', plain: plain, html: html, msgtype: 'm.notice' };
|
||
} |