mirror of https://github.com/Rudi9719/kbtui.git
David Haukeness
5 years ago
4 changed files with 133 additions and 22 deletions
@ -0,0 +1,64 @@
@@ -0,0 +1,64 @@
|
||||
// +build !rm_basic_commands allcommands setcmd
|
||||
|
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"strings" |
||||
) |
||||
|
||||
func init() { |
||||
command := Command{ |
||||
Cmd: []string{"set", "config"}, |
||||
Description: "Change various settings", |
||||
Help: "", |
||||
Exec: cmdSet, |
||||
} |
||||
|
||||
RegisterCommand(command) |
||||
} |
||||
|
||||
func cmdSet(cmd []string) { |
||||
if len(cmd) < 2 { |
||||
printToView("Feed", "No config value specified") |
||||
return |
||||
} |
||||
if len(cmd) < 3 { |
||||
switch cmd[1] { |
||||
case "load": |
||||
printToView("Feed", "Load values from file?") |
||||
case "downloadPath": |
||||
printToView("Feed", fmt.Sprintf("Setting for %s -> %s", cmd[1], downloadPath)) |
||||
case "outputFormat": |
||||
printToView("Feed", fmt.Sprintf("Setting for %s -> %s", cmd[1], outputFormat)) |
||||
case "dateFormat": |
||||
printToView("Feed", fmt.Sprintf("Setting for %s -> %s", cmd[1], dateFormat)) |
||||
case "timeFormat": |
||||
printToView("Feed", fmt.Sprintf("Setting for %s -> %s", cmd[1], timeFormat)) |
||||
case "cmdPrefix": |
||||
printToView("Feed", fmt.Sprintf("Setting for %s -> %s", cmd[1], cmdPrefix)) |
||||
default: |
||||
printToView("Feed", fmt.Sprintf("Unknown config value %s", cmd[1])) |
||||
} |
||||
|
||||
return |
||||
} |
||||
switch cmd[1] { |
||||
case "downloadPath": |
||||
if len(cmd) != 3 { |
||||
printToView("Feed", "Invalid download path.") |
||||
} |
||||
downloadPath = cmd[2] |
||||
case "outputFormat": |
||||
outputFormat = strings.Join(cmd[1:], " ") |
||||
case "dateFormat": |
||||
dateFormat = strings.Join(cmd[1:], " ") |
||||
case "timeFormat": |
||||
timeFormat = strings.Join(cmd[1:], " ") |
||||
case "cmdPrefix": |
||||
cmdPrefix = cmd[2] |
||||
default: |
||||
printToView("Feed", fmt.Sprintf("Unknown config value %s", cmd[1])) |
||||
} |
||||
|
||||
} |
@ -0,0 +1,63 @@
@@ -0,0 +1,63 @@
|
||||
// ignore
|
||||
// +build allcommands walletcmd
|
||||
|
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"math/rand" |
||||
"strings" |
||||
"time" |
||||
) |
||||
|
||||
var walletConfirmationCode string |
||||
var walletConfirmationUser string |
||||
var walletTransactionAmnt string |
||||
|
||||
func init() { |
||||
command := Command{ |
||||
Cmd: []string{"wallet", "confirm"}, |
||||
Description: "$user $amount / $user $confirmation - Send or confirm a wallet payment", |
||||
Help: "", |
||||
Exec: cmdWallet, |
||||
} |
||||
|
||||
RegisterCommand(command) |
||||
} |
||||
|
||||
func cmdWallet(cmd []string) { |
||||
if len(cmd) < 3 { |
||||
return |
||||
} |
||||
if cmd[0] == "wallet" { |
||||
rand.Seed(time.Now().UnixNano()) |
||||
chars := []rune("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + |
||||
"abcdefghijklmnopqrstuvwxyz" + |
||||
"0123456789") |
||||
length := 5 |
||||
var b strings.Builder |
||||
for i := 0; i < length; i++ { |
||||
b.WriteRune(chars[rand.Intn(len(chars))]) |
||||
} |
||||
walletConfirmationCode = b.String() |
||||
walletConfirmationUser = cmd[1] |
||||
walletTransactionAmnt = cmd[2] |
||||
printToView("Feed", fmt.Sprintf("To confirm sending %s to %s, type /confirm %s %s", cmd[2], cmd[1], cmd[1], walletConfirmationCode)) |
||||
|
||||
} else if cmd[0] == "confirm" { |
||||
if cmd[1] == walletConfirmationUser && cmd[2] == walletConfirmationCode { |
||||
txWallet := k.NewWallet() |
||||
wAPI, err := txWallet.SendXLM(walletConfirmationUser, walletTransactionAmnt, "") |
||||
if err != nil { |
||||
printToView("Feed", fmt.Sprintf("There was an error with your wallet tx:\n\t%+v", err)) |
||||
} else { |
||||
printToView("Feed", fmt.Sprintf("You have sent %sXLM to %s with tx ID: %s", wAPI.Result.Amount, wAPI.Result.ToUsername, wAPI.Result.TxID)) |
||||
} |
||||
|
||||
} else { |
||||
printToView("Feed", "There was an error validating your confirmation. Your wallet has been untouched.") |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue