feat: fix Telegram controls and add GitHub links

This commit is contained in:
zhoujun0601
2026-08-13 12:20:30 -04:00
parent a027edda88
commit 5c8a3ffb8f
14 changed files with 477 additions and 16 deletions
+33
View File
@@ -305,6 +305,39 @@ func (s *Store) SetJSON(key string, v any) error {
}
return s.Set(key, string(b))
}
func (s *Store) SaveTelegram(settingsJSON, encryptedToken string, resetOffset bool) error {
tx, err := s.DB.Begin()
if err != nil {
return err
}
defer tx.Rollback()
now := time.Now().Unix()
for key, value := range map[string]string{"telegram": settingsJSON, "telegram_token": encryptedToken} {
if _, err = tx.Exec("INSERT INTO settings(key,value,updated_at) VALUES(?,?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value,updated_at=excluded.updated_at", key, value, now); err != nil {
return err
}
}
if resetOffset {
if _, err = tx.Exec("UPDATE telegram_updates SET offset=0 WHERE id=1"); err != nil {
return err
}
}
return tx.Commit()
}
func (s *Store) DeleteTelegram() error {
tx, err := s.DB.Begin()
if err != nil {
return err
}
defer tx.Rollback()
if _, err = tx.Exec("DELETE FROM settings WHERE key IN ('telegram','telegram_token','telegram_bind')"); err != nil {
return err
}
if _, err = tx.Exec("UPDATE telegram_updates SET offset=0 WHERE id=1"); err != nil {
return err
}
return tx.Commit()
}
func (s *Store) GetJSON(key string, v any) bool {
raw, ok := s.Get(key)
return ok && json.Unmarshal([]byte(raw), v) == nil