更新封面和readme

This commit is contained in:
dela
2026-02-05 10:17:55 +08:00
parent e5a717e94e
commit 3fea0ee89c
7 changed files with 110 additions and 15 deletions

View File

@@ -37,7 +37,7 @@ func New(cfg *config.Config, store *storage.Storage) (*Bot, error) {
states: NewStateManager(),
}
bot.toc = toc.NewManager(store, b, cfg.Channel.ID, time.Duration(cfg.TOC.DebounceSeconds)*time.Second)
bot.toc = toc.NewManager(store, b, cfg.Channel.ID, time.Duration(cfg.TOC.DebounceSeconds)*time.Second, cfg.TOC.CoverImage)
bot.setupRoutes()

View File

@@ -2,6 +2,7 @@ package telegram
import (
"fmt"
"strconv"
"strings"
tele "gopkg.in/telebot.v3"
@@ -18,11 +19,25 @@ func (b *Bot) handleEntryDel(c tele.Context) error {
return c.Reply(fmt.Sprintf("❌ %v", err))
}
// 尝试删除频道消息
msgDeleted := false
if msgID := parseMessageIDFromLink(entry.Link); msgID != 0 {
channel := &tele.Chat{ID: b.cfg.Channel.ID}
msg := &tele.Message{ID: msgID, Chat: channel}
if err := b.bot.Delete(msg); err == nil {
msgDeleted = true
}
}
if err := b.storage.DeleteEntry(id); err != nil {
return c.Reply(fmt.Sprintf("❌ 删除失败: %v", err))
}
b.toc.TriggerUpdate()
if msgDeleted {
return c.Reply(fmt.Sprintf("✅ 已删除: [%s] %s\n📨 频道消息已同步删除", entry.Category, entry.Title))
}
return c.Reply(fmt.Sprintf("✅ 已删除: [%s] %s", entry.Category, entry.Title))
}
@@ -102,3 +117,17 @@ func (b *Bot) handleRefresh(c tele.Context) error {
b.toc.TriggerUpdate()
return c.Reply("🔄 目录刷新已触发")
}
// parseMessageIDFromLink 从链接中解析消息ID
// 支持格式: https://t.me/c/123456/789 或 https://t.me/username/789
func parseMessageIDFromLink(link string) int {
parts := strings.Split(link, "/")
if len(parts) < 1 {
return 0
}
msgID, err := strconv.Atoi(parts[len(parts)-1])
if err != nil {
return 0
}
return msgID
}