koishi-plugin-chat-patch 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .message-quote[data-v-f8e0fc57]{margin:8px 0;padding:8px 12px;background-color:#bebebe1a;border-left:4px solid rgba(151,152,152,.45);border-radius:6px;font-size:.9em;position:relative}.quote-indicator[data-v-f8e0fc57]{font-size:.75em;color:#007bff;font-weight:600;margin-bottom:4px;text-transform:uppercase}.quote-header[data-v-f8e0fc57]{display:flex;align-items:center;margin-bottom:4px;gap:6px}.quote-avatar[data-v-f8e0fc57]{width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0}.quote-avatar img[data-v-f8e0fc57]{width:100%;height:100%;object-fit:cover}.quote-avatar .avatar-placeholder[data-v-f8e0fc57]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#6c757d;color:#fff;font-size:10px;font-weight:700}.quote-username[data-v-f8e0fc57]{font-weight:600;color:#007bff;font-size:.85em}.quote-time[data-v-f8e0fc57]{color:#6c757d;font-size:.75em;margin-left:auto}.quote-content[data-v-f8e0fc57]{color:#7276b7;line-height:1.3;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.quote-content .message-image[data-v-f8e0fc57]{max-width:min(200px,50vw);max-height:100px}.quote-content .message-image-container[data-v-f8e0fc57]{margin:2px 0}@media (prefers-color-scheme:dark){.message-quote[data-v-f8e0fc57]{background-color:#ffffff14;border-left-color:#0d6efd}.quote-content[data-v-f8e0fc57]{color:#adb5bd}.quote-username[data-v-f8e0fc57]{color:#0d6efd}}.chat-container[data-v-f8e0fc57]{display:flex;height:100vh;background:0 0;margin-left:0;width:100%;overflow:hidden;color:inherit;position:relative}.bot-list[data-v-f8e0fc57],.channel-list[data-v-f8e0fc57],.message-area[data-v-f8e0fc57]{display:flex;flex-direction:column;background:0 0;border-right:1px solid rgba(128,128,128,.2)}.bot-list[data-v-f8e0fc57]{width:250px;min-width:250px;max-width:250px;flex-shrink:0}.channel-list[data-v-f8e0fc57]{width:300px;min-width:300px;max-width:300px;flex-shrink:0}.message-area[data-v-f8e0fc57]{flex:1;border-right:none}.panel-header[data-v-f8e0fc57]{padding:16px;border-bottom:1px solid rgba(128,128,128,.2);background:0 0;display:flex;align-items:center;justify-content:space-between}.panel-header h3[data-v-f8e0fc57]{margin:0;font-size:16px;font-weight:600;color:currentColor}.back-button[data-v-f8e0fc57]{display:none;background:0 0;border:none;color:currentColor;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.back-button[data-v-f8e0fc57]:hover{background:#8080801a}.bot-items[data-v-f8e0fc57],.channel-items[data-v-f8e0fc57]{flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(144,147,153,.4) rgba(0,0,0,.05);scroll-behavior:smooth;overscroll-behavior:contain;padding-bottom:8px}.bot-item[data-v-f8e0fc57],.channel-item[data-v-f8e0fc57]{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(128,128,128,.1);transition:background-color .2s}.bot-item[data-v-f8e0fc57]:hover,.channel-item[data-v-f8e0fc57]:hover{background:#8080801a}.bot-item.active[data-v-f8e0fc57],.channel-item.active[data-v-f8e0fc57]{background:#2196f31a;border-right:3px solid #2196f3}.bot-avatar[data-v-f8e0fc57]{width:40px;height:40px;margin-right:12px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0e0e0}.bot-avatar img[data-v-f8e0fc57]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-f8e0fc57]{font-size:16px;font-weight:700;color:currentColor;opacity:.7}.bot-info[data-v-f8e0fc57]{flex:1}.bot-name[data-v-f8e0fc57]{font-weight:500;color:currentColor;margin-bottom:2px}.bot-platform[data-v-f8e0fc57]{font-size:12px;color:currentColor;opacity:.7}.bot-status[data-v-f8e0fc57]{width:8px;height:8px;border-radius:50%;margin-left:8px}.bot-status.online[data-v-f8e0fc57]{background:#4caf50}.bot-status.offline[data-v-f8e0fc57]{background:#f44336}.channel-info[data-v-f8e0fc57]{flex:1}.channel-name[data-v-f8e0fc57]{font-weight:500;color:currentColor;margin-bottom:2px}.channel-type[data-v-f8e0fc57]{font-size:12px;color:currentColor;opacity:.7}.channel-message-count[data-v-f8e0fc57]{background:#2196f3;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;position:relative;transition:all .2s ease}.channel-message-count.draggable-bubble[data-v-f8e0fc57]{cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.channel-message-count.draggable-bubble[data-v-f8e0fc57]:hover{background:#1976d2;transform:scale(1.1);box-shadow:0 2px 8px #2196f34d}.channel-message-count.draggable-bubble.dragging[data-v-f8e0fc57],.channel-message-count.draggable-bubble[data-v-f8e0fc57]:active{cursor:grabbing;background:#1565c0;box-shadow:0 4px 12px #2196f366}.dragging-clone[data-v-f8e0fc57]{position:fixed;z-index:1000;pointer-events:none;transition:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#2196f3;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 4px 12px #2196f366}.dragging-clone.will-delete[data-v-f8e0fc57]{background:#f44336!important;animation:shake-f8e0fc57 .3s ease-in-out infinite}@keyframes pulseThreshold-f8e0fc57{0%,to{opacity:.4;transform:scale(.9);border-color:#f4433699;box-shadow:0 0 15px #f4433633}50%{opacity:.8;transform:scale(1.1);border-color:#f44336;box-shadow:0 0 25px #f4433666}}@keyframes menuSlideIn-f8e0fc57{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.message-content[data-v-f8e0fc57]{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden;position:relative}.message-history[data-v-f8e0fc57]{flex:1;overflow-y:auto;padding:16px 16px 8px;max-height:calc(100vh - 200px)}.message-item[data-v-f8e0fc57]{display:flex;margin-bottom:16px;padding:8px;border-radius:8px;transition:background-color .3s ease}.message-item[data-v-f8e0fc57]:hover{background-color:#8080801a}.message-item.new-message[data-v-f8e0fc57]{background-color:#4caf5033;animation:highlight-f8e0fc57 2s ease-out}.message-item.bot-message[data-v-f8e0fc57]{flex-direction:row-reverse;justify-content:flex-start}.message-item.bot-message .message-avatar[data-v-f8e0fc57]{margin-right:0;margin-left:12px}.message-item.bot-message .message-content-wrapper[data-v-f8e0fc57]{display:flex;flex-direction:column;align-items:flex-end}.message-item.bot-message .message-header[data-v-f8e0fc57]{display:flex;align-items:center;justify-content:flex-end;margin-bottom:4px}.message-item.bot-message .message-username[data-v-f8e0fc57]{margin-right:0;margin-left:8px;order:2}.message-item.bot-message .message-time[data-v-f8e0fc57]{order:1}.message-item.bot-message .message-text[data-v-f8e0fc57]{background-color:#2196f31a;padding:8px 12px;border-radius:12px 12px 4px;display:inline-block;max-width:80%;text-align:left;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}@keyframes highlight-f8e0fc57{0%{background-color:#4caf504d}to{background-color:transparent}}.message-avatar[data-v-f8e0fc57]{width:32px;height:32px;margin-right:12px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0e0e0;flex-shrink:0}.message-avatar img[data-v-f8e0fc57]{width:100%;height:100%;object-fit:cover}.message-avatar .avatar-placeholder[data-v-f8e0fc57]{font-size:12px;font-weight:700;color:currentColor;opacity:.7}.message-content-wrapper[data-v-f8e0fc57]{flex:1}.message-header[data-v-f8e0fc57]{display:flex;align-items:center;margin-bottom:4px}.message-username[data-v-f8e0fc57]{font-weight:500;color:currentColor;margin-right:8px}.message-time[data-v-f8e0fc57]{font-size:12px;color:currentColor;opacity:.5}.message-text[data-v-f8e0fc57]{color:currentColor;line-height:1.4;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.message-item:not(.bot-message) .message-text[data-v-f8e0fc57]{background-color:#8080801a;padding:8px 12px;border-radius:12px 12px 12px 4px;display:inline-block;max-width:80%;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.message-input[data-v-f8e0fc57]{display:flex;flex-direction:column;padding:12px 16px 16px;border-top:1px solid rgba(128,128,128,.2);background:0 0;flex-shrink:0;position:sticky;bottom:0;margin-top:-10px}.input-row[data-v-f8e0fc57]{display:flex;gap:8px;align-items:center}.floating-scroll-button[data-v-f8e0fc57]{position:absolute;right:24px;bottom:18%;width:48px;height:48px;background:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #2196f34d;color:#fff;transition:all .3s ease;z-index:100;border:2px solid rgba(255,255,255,.2)}.floating-scroll-button[data-v-f8e0fc57]:hover{background:#1976d2;transform:scale(1.1);box-shadow:0 6px 16px #2196f366}.floating-scroll-button[data-v-f8e0fc57]:active{transform:scale(.95)}.input-row button[data-v-f8e0fc57]{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.message-image-container[data-v-f8e0fc57]{margin:8px 0;max-width:100%;display:block}.message-image[data-v-f8e0fc57]{border-radius:8px;object-fit:contain;display:block;cursor:pointer;transition:transform .2s ease;max-width:min(400px,66.67vw);max-height:200px;width:auto;height:auto;image-rendering:auto;-webkit-image-rendering:auto;-moz-image-rendering:auto;-o-image-rendering:auto}.message-image[src*=".gif"][data-v-f8e0fc57],.message-image[src*="image/gif"][data-v-f8e0fc57]{image-rendering:auto!important;-webkit-image-rendering:auto!important;animation-play-state:running!important}.message-image-loading[data-v-f8e0fc57]{display:inline-block;padding:8px 12px;background:#8080801a;border-radius:4px;color:currentColor;opacity:.7;font-size:12px}.message-image-error[data-v-f8e0fc57]{display:inline-block;padding:8px 12px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#f44336;font-size:12px;max-width:300px;word-break:break-word}.message-paragraph[data-v-f8e0fc57]{display:block;margin-bottom:4px}.message-paragraph[data-v-f8e0fc57]:last-child{margin-bottom:0}.forward-message-container[data-v-f8e0fc57]{border:1px solid #fff;border-radius:8px;margin:4px 0;overflow:hidden;background:#f9f9f900}.forward-message-preview[data-v-f8e0fc57]{padding:12px;cursor:pointer;transition:background-color .2s}.forward-message-preview[data-v-f8e0fc57]:hover{background:#f0f0f0}.forward-message-title[data-v-f8e0fc57]{font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.forward-message-preview-item[data-v-f8e0fc57]{color:#666;font-size:13px;margin:2px 0;line-height:1.4;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.forward-message-footer[data-v-f8e0fc57]{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #e8e8e8}.forward-message-count[data-v-f8e0fc57]{color:#2196f3;font-size:12px}.forward-message-toggle[data-v-f8e0fc57]{color:#666;font-size:12px}.forward-message-expanded[data-v-f8e0fc57]{border-top:1px solid #e0e0e0;background:#fff;max-height:400px;overflow-y:auto}.forwarded-message-item[data-v-f8e0fc57]{padding:12px;border-bottom:1px solid #f0f0f0}.forwarded-message-item[data-v-f8e0fc57]:last-child{border-bottom:none}.forwarded-message-header[data-v-f8e0fc57]{display:flex;align-items:center;margin-bottom:6px}.forwarded-message-nickname[data-v-f8e0fc57]{font-weight:600;color:#333;font-size:13px}.forwarded-message-userid[data-v-f8e0fc57]{color:#999;font-size:11px;margin-left:6px}.forwarded-message-content[data-v-f8e0fc57]{color:#555;font-size:13px;line-height:1.4;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.message-at[data-v-f8e0fc57]{background:#2196f31a;color:#2196f3;padding:2px 4px;border-radius:3px;font-weight:500;cursor:pointer}.message-unknown[data-v-f8e0fc57]{background:#ff98001a;color:#ff9800;padding:2px 4px;border-radius:3px;font-style:italic;cursor:help}.input-row input[data-v-f8e0fc57]{flex:1;min-width:0;padding:8px 12px;border:1px solid rgba(128,128,128,.3);border-radius:4px;outline:0;background:0 0;color:currentColor}.input-row input[data-v-f8e0fc57]:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.input-row input[data-v-f8e0fc57]::placeholder{color:currentColor;opacity:.5}.input-row button[data-v-f8e0fc57]{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;flex-shrink:0;white-space:nowrap}.input-row button[data-v-f8e0fc57]:hover:not(:disabled){background:#1976d2}.input-row button[data-v-f8e0fc57]:disabled{background:#8080804d;cursor:not-allowed}.input-row button.is-sending[data-v-f8e0fc57]{background:#ffc107!important;color:#333!important;cursor:default!important}.message-input .input-row button.is-sending[data-v-f8e0fc57]{background:#ffc107!important;color:#333!important;cursor:default!important;border-color:#ffc107!important}.empty-state[data-v-f8e0fc57]{display:flex;align-items:center;justify-content:center;height:100%;color:currentColor;opacity:.5;font-size:14px}.message-text-content[data-v-f8e0fc57]{display:inline;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.message-image-container[data-v-f8e0fc57]{display:block;margin:4px 0}.message-image[data-v-f8e0fc57]{border-radius:8px;margin:4px 0;display:block;cursor:pointer;transition:transform .2s ease;object-fit:contain;background:#8080801a}.message-image[data-v-f8e0fc57]:hover{transform:scale(1.02)}.message-image-loading[data-v-f8e0fc57]{height:60px;width:200px;border-radius:8px;margin:4px 0;display:flex;align-items:center;justify-content:center;background:#8080801a;color:currentColor;opacity:.7;font-size:14px;border:1px dashed rgba(128,128,128,.3)}.message-image-error[data-v-f8e0fc57]{min-height:60px;width:200px;border-radius:8px;margin:4px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#8080801a;color:currentColor;opacity:.7;font-size:14px;border:1px dashed rgba(128,128,128,.3);padding:8px;text-align:center}.message-at[data-v-f8e0fc57]{background:#2196f31a;color:#2196f3;padding:2px 6px;border-radius:4px;font-weight:500;cursor:pointer;display:inline-block;margin:0 2px}.message-at[data-v-f8e0fc57]:hover{background:#2196f333}.message-unknown[data-v-f8e0fc57]{background:#ff98001a;color:#ff9800;padding:2px 6px;border-radius:4px;font-size:12px;display:inline-block;margin:0 2px;cursor:help}@keyframes pulse-f8e0fc57{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.channel-message-count.will-delete[data-v-f8e0fc57]{background:#f44336!important;animation:shake-f8e0fc57 .3s ease-in-out infinite}@keyframes shake-f8e0fc57{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}body.dragging-bubble-global[data-v-f8e0fc57]{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:grabbing}.drag-threshold-circle[data-v-f8e0fc57]{position:fixed;pointer-events:none;border:3px dashed rgba(244,67,54,.8);border-radius:50%;z-index:999;background:#f443361a;box-shadow:0 0 20px #f443364d;animation:pulseThreshold-f8e0fc57 1.5s ease-in-out infinite}.context-menu[data-v-f8e0fc57]{position:fixed;background:#ffffffa6;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 8px 32px #00000026;z-index:10000;min-width:180px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}.context-menu-item[data-v-f8e0fc57]{padding:12px 16px;cursor:pointer;color:#333;font-size:14px;font-weight:500;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.08);position:relative}.context-menu-item[data-v-f8e0fc57]:last-child{border-bottom:none}.context-menu-item[data-v-f8e0fc57]:hover{background:#2196f31a;color:#1976d2;transform:translate(2px)}.context-menu-item.danger[data-v-f8e0fc57]{color:#d32f2f}.context-menu-item.danger[data-v-f8e0fc57]:hover{background:#f443361a;color:#c62828}.bot-item.pinned[data-v-f8e0fc57],.channel-item.pinned[data-v-f8e0fc57]{background:#ffc1071a;border-left:3px solid #ffc107}.bot-item.pinned[data-v-f8e0fc57]:before,.channel-item.pinned[data-v-f8e0fc57]:before{content:"📌";position:absolute;left:4px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.7}.bot-item.pinned[data-v-f8e0fc57],.channel-item.pinned[data-v-f8e0fc57]{position:relative;padding-left:24px}@media (prefers-color-scheme:dark){.context-menu[data-v-f8e0fc57]{background:#ffffff26;border-color:#fff3;box-shadow:0 8px 32px #0006}.context-menu-item[data-v-f8e0fc57]{color:#fff;border-bottom-color:#ffffff1a}.context-menu-item[data-v-f8e0fc57]:hover{background:#2196f333;color:#64b5f6}.context-menu-item.danger[data-v-f8e0fc57]{color:#ff8a80}.context-menu-item.danger[data-v-f8e0fc57]:hover{background:#f4433633;color:#ffab91}.bot-item.pinned[data-v-f8e0fc57],.channel-item.pinned[data-v-f8e0fc57]{background:#ffc10726}}.message-share-card[data-v-f8e0fc57]{display:inline-block;width:75px;margin:8px 0;border:1px solid rgba(128,128,128,.2);border-radius:12px;background:#ffffff0d;transition:all .3s ease;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.message-share-card[data-v-f8e0fc57]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026;border-color:#2196f34d}.share-card-preview[data-v-f8e0fc57]{width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:12px 12px 0 0}.share-card-image[data-v-f8e0fc57]{max-width:calc(100% - 8px);width:auto;height:auto;object-fit:contain;transition:transform .3s ease;display:block;border-radius:4px}.message-share-card:hover .share-card-image[data-v-f8e0fc57]{transform:scale(1.05)}.share-card-content[data-v-f8e0fc57]{padding:8px}.share-card-header[data-v-f8e0fc57]{display:flex;align-items:center;margin-bottom:12px;gap:12px}.share-card-icon[data-v-f8e0fc57]{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.share-card-app-info[data-v-f8e0fc57]{flex:1;min-width:0}.share-card-app-name[data-v-f8e0fc57]{font-size:12px;color:currentColor;opacity:.7;margin-bottom:2px;font-weight:500}.share-card-title[data-v-f8e0fc57]{font-size:10px;font-weight:600;color:currentColor;line-height:1.2;word-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.share-card-desc[data-v-f8e0fc57]{font-size:14px;color:currentColor;opacity:.8;line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.share-card-link-hint[data-v-f8e0fc57]{font-size:12px;color:#2196f3;font-weight:500;display:flex;align-items:center;gap:4px}.share-card-link-hint[data-v-f8e0fc57]:after{content:"→";transition:transform .2s ease}.message-share-card:hover .share-card-link-hint[data-v-f8e0fc57]:after{transform:translate(2px)}.message-json-error[data-v-f8e0fc57],.message-json-raw[data-v-f8e0fc57]{display:inline-block;margin:8px 0;max-width:400px}.json-error-text[data-v-f8e0fc57]{color:#f44336;font-size:14px;font-weight:500}.json-label[data-v-f8e0fc57]{color:currentColor;opacity:.7;font-size:12px;font-weight:500;margin-bottom:8px}.json-raw-data[data-v-f8e0fc57]{margin-top:8px}.json-raw-data summary[data-v-f8e0fc57]{cursor:pointer;font-size:12px;color:#2196f3;font-weight:500;padding:4px 8px;border-radius:4px;background:#2196f31a;display:inline-block;transition:background-color .2s ease}.json-raw-data summary[data-v-f8e0fc57]:hover{background:#2196f333}.json-raw-content[data-v-f8e0fc57]{margin-top:8px;padding:12px;background:#8080801a;border-radius:8px;font-family:Courier New,monospace;font-size:12px;color:currentColor;opacity:.8;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;max-height:200px;overflow-y:auto;border:1px solid rgba(128,128,128,.2)}@media (prefers-color-scheme:dark){.message-share-card[data-v-f8e0fc57]{background:#ffffff14;border-color:#ffffff26}.message-share-card[data-v-f8e0fc57]:hover{border-color:#2196f380;box-shadow:0 8px 24px #0000004d}.json-raw-content[data-v-f8e0fc57]{background:#ffffff0d;border-color:#ffffff1a}}@media (max-width:768px){.chat-container[data-v-f8e0fc57]{position:relative;height:100vh;height:100dvh}.bot-list[data-v-f8e0fc57],.channel-list[data-v-f8e0fc57],.message-area[data-v-f8e0fc57]{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .3s ease;z-index:1}.bot-list[data-v-f8e0fc57]{transform:translate(0);z-index:3}.channel-list[data-v-f8e0fc57]{transform:translate(100%);z-index:2}.message-area[data-v-f8e0fc57]{transform:translate(200%);z-index:1}.chat-container.show-channels .bot-list[data-v-f8e0fc57]{transform:translate(-100%)}.chat-container.show-channels .channel-list[data-v-f8e0fc57]{transform:translate(0);z-index:3}.chat-container.show-channels .message-area[data-v-f8e0fc57]{transform:translate(100%)}.chat-container.show-messages .bot-list[data-v-f8e0fc57]{transform:translate(-200%)}.chat-container.show-messages .channel-list[data-v-f8e0fc57]{transform:translate(-100%)}.chat-container.show-messages .message-area[data-v-f8e0fc57]{transform:translate(0);z-index:3}.back-button[data-v-f8e0fc57]{display:none!important}.panel-header[data-v-f8e0fc57]{flex-direction:row-reverse;position:sticky;top:0;z-index:5;background:inherit}.panel-header h3[data-v-f8e0fc57]{text-align:right}.floating-scroll-button[data-v-f8e0fc57]{right:16px;bottom:calc(90px + env(safe-area-inset-bottom,0px));width:40px;height:40px;transition:bottom .3s ease}.message-input[data-v-f8e0fc57]{padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px)) 12px;position:fixed;bottom:20px;left:0;right:0;background:inherit;border-top:1px solid rgba(128,128,128,.2);z-index:10;min-height:calc(60px + env(safe-area-inset-bottom,0px));transition:transform .3s ease;transform:translateZ(0)}.input-row input[data-v-f8e0fc57]{font-size:16px;padding:10px 12px}.input-row button[data-v-f8e0fc57]{padding:10px 16px;font-size:16px}.message-history[data-v-f8e0fc57]{padding:12px;max-height:calc(100vh - 140px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 140px - env(safe-area-inset-bottom,0px));padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;transition:max-height .3s ease}.message-item[data-v-f8e0fc57]{margin-bottom:12px;padding:6px}.message-text[data-v-f8e0fc57]{max-width:90%!important}.message-avatar[data-v-f8e0fc57]{width:28px;height:28px;margin-right:8px}.message-item.bot-message .message-avatar[data-v-f8e0fc57]{margin-left:8px}.message-image[data-v-f8e0fc57]{max-width:min(280px,66.67vw);max-height:160px}.quote-content .message-image[data-v-f8e0fc57]{max-width:min(150px,50vw);max-height:80px}.context-menu[data-v-f8e0fc57]{min-width:160px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.context-menu-item[data-v-f8e0fc57]{padding:14px 16px;font-size:16px}.bot-item[data-v-f8e0fc57],.channel-item[data-v-f8e0fc57]{padding:14px 16px}.bot-avatar[data-v-f8e0fc57]{width:36px;height:36px;margin-right:10px}.bot-name[data-v-f8e0fc57],.channel-name[data-v-f8e0fc57]{font-size:15px}.bot-platform[data-v-f8e0fc57],.channel-type[data-v-f8e0fc57]{font-size:13px}.bot-items[data-v-f8e0fc57],.channel-items[data-v-f8e0fc57]{flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(144,147,153,.4) rgba(0,0,0,.05);scroll-behavior:smooth;overscroll-behavior:contain;padding-bottom:8px}}@media (min-width:769px) and (max-width:1024px){.bot-list[data-v-f8e0fc57]{width:220px;min-width:220px;max-width:220px}.channel-list[data-v-f8e0fc57]{width:280px;min-width:280px;max-width:280px}.message-image[data-v-f8e0fc57]{max-width:min(350px,66.67vw);max-height:180px}}.chat-container.swiping[data-v-f8e0fc57]{overflow:hidden}.bot-list.swiping[data-v-f8e0fc57],.channel-list.swiping[data-v-f8e0fc57],.message-area.swiping[data-v-f8e0fc57]{transition:none!important}.swipe-indicator[data-v-f8e0fc57]{position:fixed;top:50%;left:20px;transform:translateY(-50%);background:#2196f3cc;color:#fff;padding:8px 12px;border-radius:20px;font-size:14px;z-index:1000;opacity:0;transition:opacity .2s ease;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.swipe-indicator.show[data-v-f8e0fc57]{opacity:1}.message-area .message-content[data-v-f8e0fc57]{padding-bottom:80px}.image-preview-container[data-v-f8e0fc57]{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid rgba(128,128,128,.1)}.image-preview-item[data-v-f8e0fc57]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;border:2px solid rgba(33,150,243,.3);background:#8080801a}.preview-image[data-v-f8e0fc57]{width:100%;height:100%;object-fit:cover;display:block}.remove-image-btn[data-v-f8e0fc57]{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#f44336;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease;box-shadow:0 2px 4px #0003}.remove-image-btn[data-v-f8e0fc57]:hover{background:#d32f2f;transform:scale(1.1)}.input-actions[data-v-f8e0fc57]{position:relative;margin-right:8px}.add-button[data-v-f8e0fc57]{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#667eea 0,#764ba2);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:0 2px 8px #667eea4d;position:relative;overflow:hidden}.add-button[data-v-f8e0fc57]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3 0,#ffffff1a);border-radius:12px;opacity:0;transition:opacity .3s ease}.add-button[data-v-f8e0fc57]:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #667eea66}.add-button[data-v-f8e0fc57]:hover:before{opacity:1}.add-button.active[data-v-f8e0fc57]{background:linear-gradient(135deg,#f093fb 0,#f5576c);transform:translateY(-2px) scale(1.05) rotate(45deg);box-shadow:0 4px 16px #f5576c66}.add-button[data-v-f8e0fc57]:active{transform:translateY(0) scale(.98);transition:all .1s ease}.action-menu[data-v-f8e0fc57]{position:absolute;bottom:100%;left:0;margin-bottom:12px;background:#fffffffa;border:none;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;z-index:1000;min-width:140px;transform:translateY(8px);opacity:0;animation:menuSlideIn-f8e0fc57 .3s cubic-bezier(.4,0,.2,1) forwards}.action-menu-item[data-v-f8e0fc57]{display:flex;align-items:center;gap:12px;padding:14px 18px;background:0 0;border:none;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;text-align:left;position:relative}.action-menu-item[data-v-f8e0fc57]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#667eea 0,#764ba2);transform:scaleY(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.action-menu-item[data-v-f8e0fc57]:hover{background:linear-gradient(90deg,#667eea14 0,#764ba214);color:#667eea;transform:translate(4px)}.action-menu-item[data-v-f8e0fc57]:hover:before{transform:scaleY(1)}.action-menu-item svg[data-v-f8e0fc57]{flex-shrink:0}@media (prefers-color-scheme:dark){.action-menu[data-v-f8e0fc57]{background:#1e1e1efa;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003}.action-menu-item[data-v-f8e0fc57]{color:#fff}.action-menu-item[data-v-f8e0fc57]:before{background:linear-gradient(135deg,#4facfe 0,#00f2fe)}.action-menu-item[data-v-f8e0fc57]:hover{background:linear-gradient(90deg,#4facfe1f 0,#00f2fe1f);color:#4facfe}.add-button[data-v-f8e0fc57]{background:linear-gradient(135deg,#4facfe 0,#00f2fe);box-shadow:0 2px 8px #4facfe4d}.add-button[data-v-f8e0fc57]:hover{box-shadow:0 4px 16px #4facfe66}.add-button.active[data-v-f8e0fc57]{background:linear-gradient(135deg,#fa709a 0,#fee140);box-shadow:0 4px 16px #fa709a66}.image-preview-item[data-v-f8e0fc57]{border-color:#64b5f680;background:#ffffff0d}}@media (max-width:768px){.image-preview-container[data-v-f8e0fc57]{padding:6px 0;margin-bottom:6px}.image-preview-item[data-v-f8e0fc57]{width:50px;height:50px}.add-button[data-v-f8e0fc57]{width:32px;height:32px;border-radius:10px}.action-menu[data-v-f8e0fc57]{min-width:100px}.action-menu-item[data-v-f8e0fc57]{padding:10px 12px;font-size:13px}.remove-image-btn[data-v-f8e0fc57]{width:18px;height:18px;top:-5px;right:-5px}}.message-history[data-v-f8e0fc57]::-webkit-scrollbar{width:6px}.message-history[data-v-f8e0fc57]::-webkit-scrollbar-track{background:0 0}.message-history[data-v-f8e0fc57]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.message-history[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar{width:8px}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-track,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb{background-color:#90939966;border-radius:4px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);background-clip:padding-box}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover{background-color:#90939999;transform:scaleX(1.2)}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:active,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:active{background-color:#909399cc}.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar{width:6px}.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar-track{background:0 0}.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar{width:6px}.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar-track{background:0 0}.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover{background-color:#90939980}@media (prefers-color-scheme:dark){.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-track,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-track{background:#ffffff0d}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb,.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar-thumb,.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar-thumb,.message-history[data-v-f8e0fc57]::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-color:#0000001a}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover,.forward-message-expanded[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover,.json-raw-content[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover,.message-history[data-v-f8e0fc57]::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}.bot-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:active,.channel-items[data-v-f8e0fc57]::-webkit-scrollbar-thumb:active{background-color:#ffffffb3}}.loading-more-indicator[data-v-f8e0fc57]{display:flex;align-items:center;justify-content:center;padding:12px;color:#6c757d;font-size:14px}.loading-spinner[data-v-f8e0fc57]{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #2196f3;border-radius:50%;animation:spin-f8e0fc57 1s linear infinite;margin-right:8px}@keyframes spin-f8e0fc57{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layout-iframe{width:100%;height:100%;border:none}
1
+ .message-quote[data-v-bda63c05]{margin:8px 0;padding:8px 12px;background-color:#bebebe1a;border-left:4px solid rgba(151,152,152,.45);border-radius:6px;font-size:.9em;position:relative}.quote-indicator[data-v-bda63c05]{font-size:.75em;color:#007bff;font-weight:600;margin-bottom:4px;text-transform:uppercase}.quote-header[data-v-bda63c05]{display:flex;align-items:center;margin-bottom:4px;gap:6px}.quote-avatar[data-v-bda63c05]{width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0}.quote-avatar img[data-v-bda63c05]{width:100%;height:100%;object-fit:cover}.quote-avatar .avatar-placeholder[data-v-bda63c05]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#6c757d;color:#fff;font-size:10px;font-weight:700}.quote-username[data-v-bda63c05]{font-weight:600;color:#007bff;font-size:.85em}.quote-time[data-v-bda63c05]{color:#6c757d;font-size:.75em;margin-left:auto}.quote-content[data-v-bda63c05]{color:#7276b7;line-height:1.3;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.quote-content .message-image[data-v-bda63c05]{max-width:min(200px,50vw);max-height:100px}.quote-content .message-image-container[data-v-bda63c05]{margin:2px 0}@media (prefers-color-scheme:dark){.message-quote[data-v-bda63c05]{background-color:#ffffff14;border-left-color:#0d6efd}.quote-content[data-v-bda63c05]{color:#adb5bd}.quote-username[data-v-bda63c05]{color:#0d6efd}}.chat-container[data-v-bda63c05]{display:flex;height:100vh;background:0 0;margin-left:0;width:100%;overflow:hidden;color:inherit;position:relative}.bot-list[data-v-bda63c05],.channel-list[data-v-bda63c05],.message-area[data-v-bda63c05]{display:flex;flex-direction:column;background:0 0;border-right:1px solid rgba(128,128,128,.2)}.bot-list[data-v-bda63c05]{width:250px;min-width:250px;max-width:250px;flex-shrink:0}.channel-list[data-v-bda63c05]{width:300px;min-width:300px;max-width:300px;flex-shrink:0}.message-area[data-v-bda63c05]{flex:1;border-right:none}.panel-header[data-v-bda63c05]{padding:16px;border-bottom:1px solid rgba(128,128,128,.2);background:0 0;display:flex;align-items:center;justify-content:space-between}.panel-header h3[data-v-bda63c05]{margin:0;font-size:16px;font-weight:600;color:currentColor}.back-button[data-v-bda63c05]{display:none;background:0 0;border:none;color:currentColor;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.back-button[data-v-bda63c05]:hover{background:#8080801a}.bot-items[data-v-bda63c05],.channel-items[data-v-bda63c05]{flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(144,147,153,.4) rgba(0,0,0,.05);scroll-behavior:smooth;overscroll-behavior:contain;padding-bottom:8px}.bot-item[data-v-bda63c05],.channel-item[data-v-bda63c05]{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(128,128,128,.1);transition:background-color .2s}.bot-item[data-v-bda63c05]:hover,.channel-item[data-v-bda63c05]:hover{background:#8080801a}.bot-item.active[data-v-bda63c05],.channel-item.active[data-v-bda63c05]{background:#2196f31a;border-right:3px solid #2196f3}.bot-avatar[data-v-bda63c05]{width:40px;height:40px;margin-right:12px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0e0e0}.bot-avatar img[data-v-bda63c05]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-bda63c05]{font-size:16px;font-weight:700;color:currentColor;opacity:.7}.bot-info[data-v-bda63c05]{flex:1}.bot-name[data-v-bda63c05]{font-weight:500;color:currentColor;margin-bottom:2px}.bot-platform[data-v-bda63c05]{font-size:12px;color:currentColor;opacity:.7}.bot-status[data-v-bda63c05]{width:8px;height:8px;border-radius:50%;margin-left:8px}.bot-status.online[data-v-bda63c05]{background:#4caf50}.bot-status.offline[data-v-bda63c05]{background:#f44336}.channel-info[data-v-bda63c05]{flex:1}.channel-name[data-v-bda63c05]{font-weight:500;color:currentColor;margin-bottom:2px}.channel-type[data-v-bda63c05]{font-size:12px;color:currentColor;opacity:.7}.channel-message-count[data-v-bda63c05]{background:#2196f3;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;position:relative;transition:all .2s ease}.channel-message-count.draggable-bubble[data-v-bda63c05]{cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.channel-message-count.draggable-bubble[data-v-bda63c05]:hover{background:#1976d2;transform:scale(1.1);box-shadow:0 2px 8px #2196f34d}.channel-message-count.draggable-bubble.dragging[data-v-bda63c05],.channel-message-count.draggable-bubble[data-v-bda63c05]:active{cursor:grabbing;background:#1565c0;box-shadow:0 4px 12px #2196f366}.dragging-clone[data-v-bda63c05]{position:fixed;z-index:1000;pointer-events:none;transition:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#2196f3;color:#fff;font-size:12px;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 4px 12px #2196f366}.dragging-clone.will-delete[data-v-bda63c05]{background:#f44336!important;animation:shake-bda63c05 .3s ease-in-out infinite}@keyframes pulseThreshold-bda63c05{0%,to{opacity:.4;transform:scale(.9);border-color:#f4433699;box-shadow:0 0 15px #f4433633}50%{opacity:.8;transform:scale(1.1);border-color:#f44336;box-shadow:0 0 25px #f4433666}}@keyframes menuSlideIn-bda63c05{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.message-content[data-v-bda63c05]{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden;position:relative}.message-history[data-v-bda63c05]{flex:1;overflow-y:auto;padding:16px 16px 8px;max-height:calc(100vh - 200px)}.message-item[data-v-bda63c05]{display:flex;margin-bottom:16px;padding:8px;border-radius:8px;transition:background-color .3s ease}.message-item[data-v-bda63c05]:hover{background-color:#8080801a}.message-item.new-message[data-v-bda63c05]{background-color:#4caf5033;animation:highlight-bda63c05 2s ease-out}.message-item.bot-message[data-v-bda63c05]{flex-direction:row-reverse;justify-content:flex-start}.message-item.bot-message .message-avatar[data-v-bda63c05]{margin-right:0;margin-left:12px}.message-item.bot-message .message-content-wrapper[data-v-bda63c05]{display:flex;flex-direction:column;align-items:flex-end}.message-item.bot-message .message-header[data-v-bda63c05]{display:flex;align-items:center;justify-content:flex-end;margin-bottom:4px}.message-item.bot-message .message-username[data-v-bda63c05]{margin-right:0;margin-left:8px;order:2}.message-item.bot-message .message-time[data-v-bda63c05]{order:1}.message-item.bot-message .message-text[data-v-bda63c05]{background-color:#2196f31a;padding:8px 12px;border-radius:12px 12px 4px;display:inline-block;max-width:80%;text-align:left;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}@keyframes highlight-bda63c05{0%{background-color:#4caf504d}to{background-color:transparent}}.message-avatar[data-v-bda63c05]{width:32px;height:32px;margin-right:12px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e0e0e0;flex-shrink:0}.message-avatar img[data-v-bda63c05]{width:100%;height:100%;object-fit:cover}.message-avatar .avatar-placeholder[data-v-bda63c05]{font-size:12px;font-weight:700;color:currentColor;opacity:.7}.message-content-wrapper[data-v-bda63c05]{flex:1}.message-header[data-v-bda63c05]{display:flex;align-items:center;margin-bottom:4px}.message-username[data-v-bda63c05]{font-weight:500;color:currentColor;margin-right:8px}.message-time[data-v-bda63c05]{font-size:12px;color:currentColor;opacity:.5}.message-text[data-v-bda63c05]{color:currentColor;line-height:1.4;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.message-item:not(.bot-message) .message-text[data-v-bda63c05]{background-color:#8080801a;padding:8px 12px;border-radius:12px 12px 12px 4px;display:inline-block;max-width:80%;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.message-input[data-v-bda63c05]{display:flex;flex-direction:column;padding:12px 16px 16px;border-top:1px solid rgba(128,128,128,.2);background:0 0;flex-shrink:0;position:sticky;bottom:0;margin-top:-10px}.input-row[data-v-bda63c05]{display:flex;gap:8px;align-items:center}.floating-scroll-button[data-v-bda63c05]{position:absolute;right:24px;bottom:18%;width:48px;height:48px;background:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #2196f34d;color:#fff;transition:all .3s ease;z-index:100;border:2px solid rgba(255,255,255,.2)}.floating-scroll-button[data-v-bda63c05]:hover{background:#1976d2;transform:scale(1.1);box-shadow:0 6px 16px #2196f366}.floating-scroll-button[data-v-bda63c05]:active{transform:scale(.95)}.input-row button[data-v-bda63c05]{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.message-image-container[data-v-bda63c05]{margin:8px 0;max-width:100%;display:block}.message-image[data-v-bda63c05]{border-radius:8px;object-fit:contain;display:block;cursor:pointer;transition:transform .2s ease;max-width:min(400px,66.67vw);max-height:200px;width:auto;height:auto;image-rendering:auto;-webkit-image-rendering:auto;-moz-image-rendering:auto;-o-image-rendering:auto}.message-image[src*=".gif"][data-v-bda63c05],.message-image[src*="image/gif"][data-v-bda63c05]{image-rendering:auto!important;-webkit-image-rendering:auto!important;animation-play-state:running!important}.message-image-loading[data-v-bda63c05]{display:inline-block;padding:8px 12px;background:#8080801a;border-radius:4px;color:currentColor;opacity:.7;font-size:12px}.message-image-error[data-v-bda63c05]{display:inline-block;padding:8px 12px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:4px;color:#f44336;font-size:12px;max-width:300px;word-break:break-word}.message-paragraph[data-v-bda63c05]{display:block;margin-bottom:4px}.message-paragraph[data-v-bda63c05]:last-child{margin-bottom:0}.forward-message-container[data-v-bda63c05]{border:1px solid #fff;border-radius:8px;margin:4px 0;overflow:hidden;background:#f9f9f900}.forward-message-preview[data-v-bda63c05]{padding:12px;cursor:pointer;transition:background-color .2s}.forward-message-preview[data-v-bda63c05]:hover{background:#f0f0f0}.forward-message-title[data-v-bda63c05]{font-weight:600;color:#333;margin-bottom:8px;font-size:14px}.forward-message-preview-item[data-v-bda63c05]{color:#666;font-size:13px;margin:2px 0;line-height:1.4;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.forward-message-footer[data-v-bda63c05]{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #e8e8e8}.forward-message-count[data-v-bda63c05]{color:#2196f3;font-size:12px}.forward-message-toggle[data-v-bda63c05]{color:#666;font-size:12px}.forward-message-expanded[data-v-bda63c05]{border-top:1px solid #e0e0e0;background:#fff;max-height:400px;overflow-y:auto}.forwarded-message-item[data-v-bda63c05]{padding:12px;border-bottom:1px solid #f0f0f0}.forwarded-message-item[data-v-bda63c05]:last-child{border-bottom:none}.forwarded-message-header[data-v-bda63c05]{display:flex;align-items:center;margin-bottom:6px}.forwarded-message-nickname[data-v-bda63c05]{font-weight:600;color:#333;font-size:13px}.forwarded-message-userid[data-v-bda63c05]{color:#999;font-size:11px;margin-left:6px}.forwarded-message-content[data-v-bda63c05]{color:#555;font-size:13px;line-height:1.4;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere}.message-at[data-v-bda63c05]{background:#2196f31a;color:#2196f3;padding:2px 4px;border-radius:3px;font-weight:500;cursor:pointer}.message-unknown[data-v-bda63c05]{background:#ff98001a;color:#ff9800;padding:2px 4px;border-radius:3px;font-style:italic;cursor:help}.input-row input[data-v-bda63c05]{flex:1;min-width:0;padding:8px 12px;border:1px solid rgba(128,128,128,.3);border-radius:4px;outline:0;background:0 0;color:currentColor}.input-row input[data-v-bda63c05]:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.input-row input[data-v-bda63c05]::placeholder{color:currentColor;opacity:.5}.input-row button[data-v-bda63c05]{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;flex-shrink:0;white-space:nowrap}.input-row button[data-v-bda63c05]:hover:not(:disabled){background:#1976d2}.input-row button[data-v-bda63c05]:disabled{background:#8080804d;cursor:not-allowed}.input-row button.is-sending[data-v-bda63c05]{background:#ffc107!important;color:#333!important;cursor:default!important}.message-input .input-row button.is-sending[data-v-bda63c05]{background:#ffc107!important;color:#333!important;cursor:default!important;border-color:#ffc107!important}.empty-state[data-v-bda63c05]{display:flex;align-items:center;justify-content:center;height:100%;color:currentColor;opacity:.5;font-size:14px}.message-text-content[data-v-bda63c05]{display:inline;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.message-image-container[data-v-bda63c05]{display:block;margin:4px 0}.message-image[data-v-bda63c05]{border-radius:8px;margin:4px 0;display:block;cursor:pointer;transition:transform .2s ease;object-fit:contain;background:#8080801a}.message-image[data-v-bda63c05]:hover{transform:scale(1.02)}.message-image-loading[data-v-bda63c05]{height:60px;width:200px;border-radius:8px;margin:4px 0;display:flex;align-items:center;justify-content:center;background:#8080801a;color:currentColor;opacity:.7;font-size:14px;border:1px dashed rgba(128,128,128,.3)}.message-image-error[data-v-bda63c05]{min-height:60px;width:200px;border-radius:8px;margin:4px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#8080801a;color:currentColor;opacity:.7;font-size:14px;border:1px dashed rgba(128,128,128,.3);padding:8px;text-align:center}.message-at[data-v-bda63c05]{background:#2196f31a;color:#2196f3;padding:2px 6px;border-radius:4px;font-weight:500;cursor:pointer;display:inline-block;margin:0 2px}.message-at[data-v-bda63c05]:hover{background:#2196f333}.message-unknown[data-v-bda63c05]{background:#ff98001a;color:#ff9800;padding:2px 6px;border-radius:4px;font-size:12px;display:inline-block;margin:0 2px;cursor:help}@keyframes pulse-bda63c05{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.channel-message-count.will-delete[data-v-bda63c05]{background:#f44336!important;animation:shake-bda63c05 .3s ease-in-out infinite}@keyframes shake-bda63c05{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}body.dragging-bubble-global[data-v-bda63c05]{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:grabbing}.drag-threshold-circle[data-v-bda63c05]{position:fixed;pointer-events:none;border:3px dashed rgba(244,67,54,.8);border-radius:50%;z-index:999;background:#f443361a;box-shadow:0 0 20px #f443364d;animation:pulseThreshold-bda63c05 1.5s ease-in-out infinite}.context-menu[data-v-bda63c05]{position:fixed;background:#fffffffa;border:none;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;z-index:10000;min-width:180px}.context-menu-item[data-v-bda63c05]{display:flex;align-items:center;gap:12px;padding:14px 18px;background:0 0;border:none;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;text-align:left;position:relative;border-bottom:1px solid rgba(0,0,0,.08);min-width:140px}.context-menu-item[data-v-bda63c05]:last-child{border-bottom:none}.context-menu-item[data-v-bda63c05]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#667eea 0,#764ba2);transform:scaleY(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.context-menu-item[data-v-bda63c05]:hover{background:linear-gradient(90deg,#667eea14 0,#764ba214);color:#667eea;transform:translate(4px)}.context-menu-item[data-v-bda63c05]:hover:before{transform:scaleY(1)}.context-menu-item.danger[data-v-bda63c05]{color:#d32f2f}.context-menu-item.danger[data-v-bda63c05]:hover{background:linear-gradient(90deg,#f4433614 0,#d32f2f14);color:#d32f2f}.bot-item.pinned[data-v-bda63c05],.channel-item.pinned[data-v-bda63c05]{background:#ffc1071a;border-left:3px solid #ffc107}.bot-item.pinned[data-v-bda63c05]:before,.channel-item.pinned[data-v-bda63c05]:before{content:"📌";position:absolute;left:4px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.7}.bot-item.pinned[data-v-bda63c05],.channel-item.pinned[data-v-bda63c05]{position:relative;padding-left:24px}@media (prefers-color-scheme:dark){.context-menu[data-v-bda63c05]{background:#1e1e1efa;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003}.context-menu-item[data-v-bda63c05]{color:#fff;border-bottom-color:#ffffff1a}.context-menu-item[data-v-bda63c05]:before{background:linear-gradient(135deg,#4facfe 0,#00f2fe)}.context-menu-item[data-v-bda63c05]:hover{background:linear-gradient(90deg,#4facfe1f 0,#00f2fe1f);color:#4facfe}.context-menu-item.danger[data-v-bda63c05]:hover{background:linear-gradient(90deg,#f443361f 0,#ff8a801f);color:#ff8a80}.bot-item.pinned[data-v-bda63c05],.channel-item.pinned[data-v-bda63c05]{background:#ffc10726}}.message-share-card[data-v-bda63c05]{display:inline-block;width:75px;margin:8px 0;border:1px solid rgba(128,128,128,.2);border-radius:12px;background:#ffffff0d;transition:all .3s ease;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.message-share-card[data-v-bda63c05]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026;border-color:#2196f34d}.share-card-preview[data-v-bda63c05]{width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:12px 12px 0 0}.share-card-image[data-v-bda63c05]{max-width:calc(100% - 8px);width:auto;height:auto;object-fit:contain;transition:transform .3s ease;display:block;border-radius:4px}.message-share-card:hover .share-card-image[data-v-bda63c05]{transform:scale(1.05)}.share-card-content[data-v-bda63c05]{padding:8px}.share-card-header[data-v-bda63c05]{display:flex;align-items:center;margin-bottom:12px;gap:12px}.share-card-icon[data-v-bda63c05]{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0}.share-card-app-info[data-v-bda63c05]{flex:1;min-width:0}.share-card-app-name[data-v-bda63c05]{font-size:12px;color:currentColor;opacity:.7;margin-bottom:2px;font-weight:500}.share-card-title[data-v-bda63c05]{font-size:10px;font-weight:600;color:currentColor;line-height:1.2;word-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.share-card-desc[data-v-bda63c05]{font-size:14px;color:currentColor;opacity:.8;line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.share-card-link-hint[data-v-bda63c05]{font-size:12px;color:#2196f3;font-weight:500;display:flex;align-items:center;gap:4px}.share-card-link-hint[data-v-bda63c05]:after{content:"→";transition:transform .2s ease}.message-share-card:hover .share-card-link-hint[data-v-bda63c05]:after{transform:translate(2px)}.message-json-error[data-v-bda63c05],.message-json-raw[data-v-bda63c05]{display:inline-block;margin:8px 0;max-width:400px}.json-error-text[data-v-bda63c05]{color:#f44336;font-size:14px;font-weight:500}.json-label[data-v-bda63c05]{color:currentColor;opacity:.7;font-size:12px;font-weight:500;margin-bottom:8px}.json-raw-data[data-v-bda63c05]{margin-top:8px}.json-raw-data summary[data-v-bda63c05]{cursor:pointer;font-size:12px;color:#2196f3;font-weight:500;padding:4px 8px;border-radius:4px;background:#2196f31a;display:inline-block;transition:background-color .2s ease}.json-raw-data summary[data-v-bda63c05]:hover{background:#2196f333}.json-raw-content[data-v-bda63c05]{margin-top:8px;padding:12px;background:#8080801a;border-radius:8px;font-family:Courier New,monospace;font-size:12px;color:currentColor;opacity:.8;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;overflow-wrap:anywhere;max-height:200px;overflow-y:auto;border:1px solid rgba(128,128,128,.2)}@media (prefers-color-scheme:dark){.message-share-card[data-v-bda63c05]{background:#ffffff14;border-color:#ffffff26}.message-share-card[data-v-bda63c05]:hover{border-color:#2196f380;box-shadow:0 8px 24px #0000004d}.json-raw-content[data-v-bda63c05]{background:#ffffff0d;border-color:#ffffff1a}}@media (max-width:768px){.chat-container[data-v-bda63c05]{position:relative;height:100vh;height:100dvh}.bot-list[data-v-bda63c05],.channel-list[data-v-bda63c05],.message-area[data-v-bda63c05]{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .3s ease;z-index:1}.bot-list[data-v-bda63c05]{transform:translate(0);z-index:3}.channel-list[data-v-bda63c05]{transform:translate(100%);z-index:2}.message-area[data-v-bda63c05]{transform:translate(200%);z-index:1}.chat-container.show-channels .bot-list[data-v-bda63c05]{transform:translate(-100%)}.chat-container.show-channels .channel-list[data-v-bda63c05]{transform:translate(0);z-index:3}.chat-container.show-channels .message-area[data-v-bda63c05]{transform:translate(100%)}.chat-container.show-messages .bot-list[data-v-bda63c05]{transform:translate(-200%)}.chat-container.show-messages .channel-list[data-v-bda63c05]{transform:translate(-100%)}.chat-container.show-messages .message-area[data-v-bda63c05]{transform:translate(0);z-index:3}.back-button[data-v-bda63c05]{display:none!important}.panel-header[data-v-bda63c05]{flex-direction:row-reverse;position:sticky;top:0;z-index:5;background:inherit}.panel-header h3[data-v-bda63c05]{text-align:right}.floating-scroll-button[data-v-bda63c05]{right:16px;bottom:calc(90px + env(safe-area-inset-bottom,0px));width:40px;height:40px;transition:bottom .3s ease}.message-input[data-v-bda63c05]{padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px)) 12px;position:fixed;bottom:20px;left:0;right:0;background:inherit;border-top:1px solid rgba(128,128,128,.2);z-index:10;min-height:calc(60px + env(safe-area-inset-bottom,0px));transition:transform .3s ease;transform:translateZ(0)}.input-row input[data-v-bda63c05]{font-size:16px;padding:10px 12px}.input-row button[data-v-bda63c05]{padding:10px 16px;font-size:16px}.message-history[data-v-bda63c05]{padding:12px;max-height:calc(100vh - 140px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 140px - env(safe-area-inset-bottom,0px));padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;transition:max-height .3s ease}.message-item[data-v-bda63c05]{margin-bottom:12px;padding:6px}.message-text[data-v-bda63c05]{max-width:90%!important}.message-avatar[data-v-bda63c05]{width:28px;height:28px;margin-right:8px}.message-item.bot-message .message-avatar[data-v-bda63c05]{margin-left:8px}.message-image[data-v-bda63c05]{max-width:min(280px,66.67vw);max-height:160px}.quote-content .message-image[data-v-bda63c05]{max-width:min(150px,50vw);max-height:80px}.context-menu[data-v-bda63c05]{min-width:160px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.context-menu-item[data-v-bda63c05]{padding:10px 12px;font-size:13px;min-width:100px}.bot-item[data-v-bda63c05],.channel-item[data-v-bda63c05]{padding:14px 16px}.bot-avatar[data-v-bda63c05]{width:36px;height:36px;margin-right:10px}.bot-name[data-v-bda63c05],.channel-name[data-v-bda63c05]{font-size:15px}.bot-platform[data-v-bda63c05],.channel-type[data-v-bda63c05]{font-size:13px}.bot-items[data-v-bda63c05],.channel-items[data-v-bda63c05]{flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(144,147,153,.4) rgba(0,0,0,.05);scroll-behavior:smooth;overscroll-behavior:contain;padding-bottom:8px}}@media (min-width:769px) and (max-width:1024px){.bot-list[data-v-bda63c05]{width:220px;min-width:220px;max-width:220px}.channel-list[data-v-bda63c05]{width:280px;min-width:280px;max-width:280px}.message-image[data-v-bda63c05]{max-width:min(350px,66.67vw);max-height:180px}}.chat-container.swiping[data-v-bda63c05]{overflow:hidden}.bot-list.swiping[data-v-bda63c05],.channel-list.swiping[data-v-bda63c05],.message-area.swiping[data-v-bda63c05]{transition:none!important}.swipe-indicator[data-v-bda63c05]{position:fixed;top:50%;left:20px;transform:translateY(-50%);background:#2196f3cc;color:#fff;padding:8px 12px;border-radius:20px;font-size:14px;z-index:1000;opacity:0;transition:opacity .2s ease;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.swipe-indicator.show[data-v-bda63c05]{opacity:1}.message-area .message-content[data-v-bda63c05]{padding-bottom:80px}.image-preview-container[data-v-bda63c05]{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin-bottom:8px;border-bottom:1px solid rgba(128,128,128,.1)}.image-preview-item[data-v-bda63c05]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;border:2px solid rgba(33,150,243,.3);background:#8080801a}.preview-image[data-v-bda63c05]{width:100%;height:100%;object-fit:cover;display:block}.remove-image-btn[data-v-bda63c05]{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#f44336;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s ease;box-shadow:0 2px 4px #0003}.remove-image-btn[data-v-bda63c05]:hover{background:#d32f2f;transform:scale(1.1)}.input-actions[data-v-bda63c05]{position:relative;margin-right:8px}.add-button[data-v-bda63c05]{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#667eea 0,#764ba2);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:0 2px 8px #667eea4d;position:relative;overflow:hidden}.add-button[data-v-bda63c05]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3 0,#ffffff1a);border-radius:12px;opacity:0;transition:opacity .3s ease}.add-button[data-v-bda63c05]:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #667eea66}.add-button[data-v-bda63c05]:hover:before{opacity:1}.add-button.active[data-v-bda63c05]{background:linear-gradient(135deg,#f093fb 0,#f5576c);transform:translateY(-2px) scale(1.05) rotate(45deg);box-shadow:0 4px 16px #f5576c66}.add-button[data-v-bda63c05]:active{transform:translateY(0) scale(.98);transition:all .1s ease}.action-menu[data-v-bda63c05]{position:absolute;bottom:100%;left:0;margin-bottom:12px;background:#fffffffa;border:none;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;z-index:1000;min-width:140px;transform:translateY(8px);opacity:0;animation:menuSlideIn-bda63c05 .3s cubic-bezier(.4,0,.2,1) forwards}.action-menu-item[data-v-bda63c05]{display:flex;align-items:center;gap:12px;padding:14px 18px;background:0 0;border:none;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;text-align:left;position:relative}.action-menu-item[data-v-bda63c05]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#667eea 0,#764ba2);transform:scaleY(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.action-menu-item[data-v-bda63c05]:hover{background:linear-gradient(90deg,#667eea14 0,#764ba214);color:#667eea;transform:translate(4px)}.action-menu-item[data-v-bda63c05]:hover:before{transform:scaleY(1)}.action-menu-item svg[data-v-bda63c05]{flex-shrink:0}@media (prefers-color-scheme:dark){.action-menu[data-v-bda63c05]{background:#1e1e1efa;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003}.action-menu-item[data-v-bda63c05]{color:#fff}.action-menu-item[data-v-bda63c05]:before{background:linear-gradient(135deg,#4facfe 0,#00f2fe)}.action-menu-item[data-v-bda63c05]:hover{background:linear-gradient(90deg,#4facfe1f 0,#00f2fe1f);color:#4facfe}.add-button[data-v-bda63c05]{background:linear-gradient(135deg,#4facfe 0,#00f2fe);box-shadow:0 2px 8px #4facfe4d}.add-button[data-v-bda63c05]:hover{box-shadow:0 4px 16px #4facfe66}.add-button.active[data-v-bda63c05]{background:linear-gradient(135deg,#fa709a 0,#fee140);box-shadow:0 4px 16px #fa709a66}.image-preview-item[data-v-bda63c05]{border-color:#64b5f680;background:#ffffff0d}}@media (max-width:768px){.image-preview-container[data-v-bda63c05]{padding:6px 0;margin-bottom:6px}.image-preview-item[data-v-bda63c05]{width:50px;height:50px}.add-button[data-v-bda63c05]{width:32px;height:32px;border-radius:10px}.action-menu[data-v-bda63c05]{min-width:100px}.action-menu-item[data-v-bda63c05]{padding:10px 12px;font-size:13px}.remove-image-btn[data-v-bda63c05]{width:18px;height:18px;top:-5px;right:-5px}}.message-history[data-v-bda63c05]::-webkit-scrollbar{width:6px}.message-history[data-v-bda63c05]::-webkit-scrollbar-track{background:0 0}.message-history[data-v-bda63c05]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.message-history[data-v-bda63c05]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.bot-items[data-v-bda63c05]::-webkit-scrollbar,.channel-items[data-v-bda63c05]::-webkit-scrollbar{width:8px}.bot-items[data-v-bda63c05]::-webkit-scrollbar-track,.channel-items[data-v-bda63c05]::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb{background-color:#90939966;border-radius:4px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);background-clip:padding-box}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb:hover,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb:hover{background-color:#90939999;transform:scaleX(1.2)}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb:active,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb:active{background-color:#909399cc}.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar{width:6px}.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar-track{background:0 0}.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar-thumb:hover{background-color:#90939980}.json-raw-content[data-v-bda63c05]::-webkit-scrollbar{width:6px}.json-raw-content[data-v-bda63c05]::-webkit-scrollbar-track{background:0 0}.json-raw-content[data-v-bda63c05]::-webkit-scrollbar-thumb{background-color:#9093994d;border-radius:4px;transition:background-color .3s}.json-raw-content[data-v-bda63c05]::-webkit-scrollbar-thumb:hover{background-color:#90939980}@media (prefers-color-scheme:dark){.bot-items[data-v-bda63c05]::-webkit-scrollbar-track,.channel-items[data-v-bda63c05]::-webkit-scrollbar-track{background:#ffffff0d}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb,.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar-thumb,.json-raw-content[data-v-bda63c05]::-webkit-scrollbar-thumb,.message-history[data-v-bda63c05]::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-color:#0000001a}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb:hover,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb:hover,.forward-message-expanded[data-v-bda63c05]::-webkit-scrollbar-thumb:hover,.json-raw-content[data-v-bda63c05]::-webkit-scrollbar-thumb:hover,.message-history[data-v-bda63c05]::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}.bot-items[data-v-bda63c05]::-webkit-scrollbar-thumb:active,.channel-items[data-v-bda63c05]::-webkit-scrollbar-thumb:active{background-color:#ffffffb3}}.loading-more-indicator[data-v-bda63c05]{display:flex;align-items:center;justify-content:center;padding:12px;color:#6c757d;font-size:14px}.loading-spinner[data-v-bda63c05]{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #2196f3;border-radius:50%;animation:spin-bda63c05 1s linear infinite;margin-right:8px}@keyframes spin-bda63c05{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layout-iframe{width:100%;height:100%;border:none}
package/lib/index.js CHANGED
@@ -674,12 +674,38 @@ var ApiHandlers = class {
674
674
  }
675
675
  }
676
676
  }
677
+ const parsedContent = import_koishi.h.parse(messageContent);
677
678
  this.messageHandler.setCorrectChannelId(data.selfId, data.channelId);
678
- const result = await bot.sendMessage(data.channelId, messageContent);
679
+ const result = await bot.sendMessage(data.channelId, parsedContent);
679
680
  this.logInfo("消息发送成功:", result);
681
+ const messageId = Array.isArray(result) ? result[0] : result;
682
+ if (messageId) {
683
+ const bot2 = this.ctx.bots.find((b) => b.selfId === data.selfId);
684
+ const botMessageEvent = {
685
+ type: "bot-message-sent",
686
+ selfId: data.selfId,
687
+ platform: bot2?.platform || "unknown",
688
+ channelId: data.channelId,
689
+ messageId,
690
+ content: messageContent,
691
+ userId: data.selfId,
692
+ botUsername: bot2?.user?.name || `Bot-${data.selfId}`,
693
+ botAvatar: bot2?.user?.avatar,
694
+ timestamp: Date.now(),
695
+ guildName: "",
696
+ // 这个信息在前端会补充
697
+ channelType: 0,
698
+ // 这个信息在前端会补充
699
+ elements: [],
700
+ // 这个信息在前端会补充
701
+ isDirect: false
702
+ // 这个信息在前端会补充
703
+ };
704
+ this.ctx.console.broadcast("bot-message-sent-event", botMessageEvent);
705
+ }
680
706
  return {
681
707
  success: true,
682
- messageId: Array.isArray(result) ? result[0] : result,
708
+ messageId,
683
709
  tempImageIds: data.images?.map((img) => img.tempId) || []
684
710
  };
685
711
  } catch (error) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-chat-patch",
3
3
  "description": "[<ruby>chat-patch<rp>(</rp><rt>点我预览效果</rt><rp>)</rp></ruby>](https://i0.hdslb.com/bfs/openplatform/71074dfc9e5256fc3333d8bd8478bec1af874046.png) 视奸小插件((bushi( (低性能警告)。手机端适配。灵感来自 chat 插件。",
4
- "version": "1.1.1",
4
+ "version": "1.2.0",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -247,15 +247,41 @@ export class ApiHandlers {
247
247
  }
248
248
  }
249
249
 
250
+ const parsedContent = h.parse(messageContent)
251
+
250
252
  // 在发送消息前,通知 MessageHandler 正确的 channelId
251
253
  this.messageHandler.setCorrectChannelId(data.selfId, data.channelId)
252
254
 
253
- const result = await bot.sendMessage(data.channelId, messageContent)
255
+ const result = await bot.sendMessage(data.channelId, parsedContent)
254
256
  this.logInfo('消息发送成功:', result)
255
257
 
258
+ // 广播机器人消息发送成功事件,包含真实的 messageId
259
+ const messageId = Array.isArray(result) ? result[0] : result;
260
+ if (messageId) {
261
+ const bot = this.ctx.bots.find((b: any) => b.selfId === data.selfId);
262
+ const botMessageEvent = {
263
+ type: 'bot-message-sent',
264
+ selfId: data.selfId,
265
+ platform: bot?.platform || 'unknown',
266
+ channelId: data.channelId,
267
+ messageId: messageId,
268
+ content: messageContent,
269
+ userId: data.selfId,
270
+ botUsername: bot?.user?.name || `Bot-${data.selfId}`,
271
+ botAvatar: bot?.user?.avatar,
272
+ timestamp: Date.now(),
273
+ guildName: '', // 这个信息在前端会补充
274
+ channelType: 0, // 这个信息在前端会补充
275
+ elements: [], // 这个信息在前端会补充
276
+ isDirect: false // 这个信息在前端会补充
277
+ };
278
+
279
+ this.ctx.console.broadcast('bot-message-sent-event', botMessageEvent);
280
+ }
281
+
256
282
  return {
257
283
  success: true,
258
- messageId: Array.isArray(result) ? result[0] : result,
284
+ messageId: messageId,
259
285
  tempImageIds: data.images?.map(img => img.tempId) || []
260
286
  }
261
287
  } catch (error: any) {
@@ -628,4 +654,4 @@ export class ApiHandlers {
628
654
  (this.logger.info as (...args: any[]) => void)(...args)
629
655
  }
630
656
  }
631
- }
657
+ }
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { Console } from '@koishijs/console'
3
- import { Context } from 'koishi'
3
+ import { Context, h } from 'koishi'
4
4
  import path from 'node:path'
5
5
 
6
6
  import { MessageHandler } from './message-handler'
@@ -78,7 +78,7 @@ export async function apply(ctx: Context, config: Config) {
78
78
  logInfo(`忽略来自被屏蔽平台的消息: ${session.platform}`)
79
79
  return
80
80
  }
81
-
81
+ // logInfo(session)
82
82
  // 广播消息事件给前端处理
83
83
  await messageHandler.broadcastMessageEvent(session)
84
84
  })