Skip to content

Commit b1527e1

Browse files
committed
fix: use bufio.Reader for all stdin input (prevent skipped prompts)
1 parent bf89d33 commit b1527e1

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

internal/openclaw/launch.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,11 @@ func selectModel(models []api.Model) string {
230230
fmt.Println()
231231
fmt.Print(" Select model (number): ")
232232

233+
reader := bufio.NewReader(os.Stdin)
234+
line, _ := reader.ReadString('\n')
235+
line = strings.TrimSpace(line)
233236
var choice int
234-
if _, err := fmt.Scanf("%d", &choice); err != nil || choice < 1 || choice > len(models) {
237+
if _, err := fmt.Sscanf(line, "%d", &choice); err != nil || choice < 1 || choice > len(models) {
235238
return ""
236239
}
237240

@@ -401,12 +404,13 @@ func SetupTelegram() {
401404
fmt.Println()
402405

403406
fmt.Print(" Paste your Telegram bot token: ")
404-
var token string
405-
if _, err := fmt.Scanln(&token); err != nil || token == "" {
407+
reader := bufio.NewReader(os.Stdin)
408+
token, _ := reader.ReadString('\n')
409+
token = strings.TrimSpace(token)
410+
if token == "" {
406411
fmt.Println(" ⚠ No token provided, skipping Telegram setup")
407412
return
408413
}
409-
token = strings.TrimSpace(token)
410414

411415
fmt.Println(" Configuring Telegram...")
412416
if err := RunCommand("config", "set", "channels.telegram.botToken", token); err != nil {
@@ -420,8 +424,8 @@ func SetupTelegram() {
420424
fmt.Println(" (Get it from @userinfobot in Telegram)")
421425
fmt.Println()
422426
fmt.Print(" Your Telegram user ID (or press Enter to skip): ")
423-
var userID string
424-
fmt.Scanln(&userID)
427+
reader2 := bufio.NewReader(os.Stdin)
428+
userID, _ := reader2.ReadString('\n')
425429
userID = strings.TrimSpace(userID)
426430

427431
if userID != "" {

0 commit comments

Comments
 (0)