(canvas, colorOne, colorTwo, patternImage, lumOne, lumTwo)
| 138 | s = Math.min(1, Math.max(s * 1.8, 0.35)); |
| 139 | } |
| 140 | return { |
| 141 | center: hslToHex(h, s, 0.8), |
| 142 | edge: hslToHex(h, s, 0.62), |
| 143 | patternAlpha: 0.18, |
| 144 | }; |
| 145 | } |
| 146 | |
| 147 | // ── Message normalisation ────────────────────────────────────────────── |
| 148 | function normalizeMessage(message) { |
| 149 | if (!message.from) { |
| 150 | message.from = { id: 0 }; |
| 151 | } |
| 152 | if (!message.from.photo) { |
| 153 | message.from.photo = {}; |
| 154 | } |
| 155 | if (message.from.name !== false && !message.from.name && (message.from.first_name || message.from.last_name)) { |
| 156 | message.from.name = [message.from.first_name, message.from.last_name] |
| 157 | .filter(Boolean) |
| 158 | .join(" "); |
| 159 | } |
| 160 | if (message.replyMessage) { |
| 161 | if (!message.replyMessage.chatId) { |
| 162 | message.replyMessage.chatId = message.from.id || 0; |
| 163 | } |
no test coverage detected