allow send to accept message from stdin
This commit is contained in:
parent
4bc97fb829
commit
0f3e6dce72
1 changed files with 17 additions and 4 deletions
|
@ -18,6 +18,7 @@ package send
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -37,9 +38,10 @@ var (
|
||||||
toAddress *v1.JsonAddress
|
toAddress *v1.JsonAddress
|
||||||
toGroup string
|
toGroup string
|
||||||
attachments []string
|
attachments []string
|
||||||
|
message string
|
||||||
|
|
||||||
SendMessageCmd = &cobra.Command{
|
SendMessageCmd = &cobra.Command{
|
||||||
Use: "send <group id | phone number> <message>",
|
Use: "send {group id | phone number} [message]",
|
||||||
Short: "send a message",
|
Short: "send a message",
|
||||||
PreRun: func(cmd *cobra.Command, args []string) {
|
PreRun: func(cmd *cobra.Command, args []string) {
|
||||||
if account == "" {
|
if account == "" {
|
||||||
|
@ -49,9 +51,20 @@ var (
|
||||||
common.Must(cmd.Help())
|
common.Must(cmd.Help())
|
||||||
log.Fatal("No account specified. Please specify with --account or set a default")
|
log.Fatal("No account specified. Please specify with --account or set a default")
|
||||||
}
|
}
|
||||||
if len(args) < 2 {
|
if len(args) < 1 {
|
||||||
common.Must(cmd.Help())
|
common.Must(cmd.Help())
|
||||||
log.Fatal("must specify both destination (either group id or phone number) and message")
|
log.Fatal("must specify both destination (either group id or phone number)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(args) == 1 {
|
||||||
|
messageBytes, err := ioutil.ReadAll(os.Stdin)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("error reading message from stdin, perhaps you meant to include it in the command line arguments?")
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
message = string(messageBytes)
|
||||||
|
} else {
|
||||||
|
message = strings.Join(args[1:], " ")
|
||||||
}
|
}
|
||||||
to, err := common.StringToAddress(args[0])
|
to, err := common.StringToAddress(args[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -65,7 +78,7 @@ var (
|
||||||
|
|
||||||
req := v1.SendRequest{
|
req := v1.SendRequest{
|
||||||
Username: account,
|
Username: account,
|
||||||
MessageBody: strings.Join(args[1:], " "),
|
MessageBody: message,
|
||||||
Attachments: []*v1.JsonAttachment{},
|
Attachments: []*v1.JsonAttachment{},
|
||||||
RecipientAddress: toAddress,
|
RecipientAddress: toAddress,
|
||||||
RecipientGroupID: toGroup,
|
RecipientGroupID: toGroup,
|
||||||
|
|
Loading…
Reference in a new issue