mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
feat: add Telegram bot config UI (#1747)
* Add retry wait for telegram.GetUpdates * Add support to set telegram robot token from UI * Change validator of UserSettingTelegramUserID * Add support to set telegram user id from UI * Fix typescript check * Add validator for SystemSettingTelegramRobotTokenName * Optimize error notice while config telegram params * Change for review * Fix telegram user id could not be empty * Fix telegram robot could not be empty * Fix for eslint (again) * Update web/src/components/Settings/SystemSection.tsx --------- Co-authored-by: Athurg Feng <athurg@gooth.org> Co-authored-by: boojack <stevenlgtm@gmail.com>
This commit is contained in:
@ -3,6 +3,7 @@ package api
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"golang.org/x/exp/slices"
|
||||
)
|
||||
@ -101,13 +102,17 @@ func (upsert UserSettingUpsert) Validate() error {
|
||||
return fmt.Errorf("invalid user setting memo visibility value")
|
||||
}
|
||||
} else if upsert.Key == UserSettingTelegramUserIDKey {
|
||||
telegramUserID := 0
|
||||
err := json.Unmarshal([]byte(upsert.Value), &telegramUserID)
|
||||
var s string
|
||||
err := json.Unmarshal([]byte(upsert.Value), &s)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to unmarshal user setting telegram userid value")
|
||||
return fmt.Errorf("invalid user setting telegram user id value")
|
||||
}
|
||||
if telegramUserID <= 0 {
|
||||
return fmt.Errorf("invalid user setting telegram userid value")
|
||||
|
||||
if s == "" {
|
||||
return nil
|
||||
}
|
||||
if _, err := strconv.Atoi(s); err != nil {
|
||||
return fmt.Errorf("invalid user setting telegram user id value")
|
||||
}
|
||||
} else {
|
||||
return fmt.Errorf("invalid user setting key")
|
||||
|
Reference in New Issue
Block a user