Add pm command
This commit is contained in:
		@@ -76,12 +76,15 @@ func NewCommandProcessor(parent *MainView) *CommandProcessor {
 | 
			
		||||
			Gomuks:   parent.gmx,
 | 
			
		||||
		},
 | 
			
		||||
		aliases: map[string]*Alias{
 | 
			
		||||
			"part":   {"leave"},
 | 
			
		||||
			"send":   {"sendevent"},
 | 
			
		||||
			"msend":  {"msendevent"},
 | 
			
		||||
			"state":  {"setstate"},
 | 
			
		||||
			"mstate": {"msetstate"},
 | 
			
		||||
			"rb":     {"rainbow"},
 | 
			
		||||
			"part":       {"leave"},
 | 
			
		||||
			"send":       {"sendevent"},
 | 
			
		||||
			"msend":      {"msendevent"},
 | 
			
		||||
			"state":      {"setstate"},
 | 
			
		||||
			"mstate":     {"msetstate"},
 | 
			
		||||
			"rb":         {"rainbow"},
 | 
			
		||||
			"createroom": {"create"},
 | 
			
		||||
			"dm":         {"pm"},
 | 
			
		||||
			"query":      {"pm"},
 | 
			
		||||
		},
 | 
			
		||||
		commands: map[string]CommandHandler{
 | 
			
		||||
			"unknown-command": cmdUnknownCommand,
 | 
			
		||||
@@ -91,6 +94,7 @@ func NewCommandProcessor(parent *MainView) *CommandProcessor {
 | 
			
		||||
			"clearcache":      cmdClearCache,
 | 
			
		||||
			"leave":           cmdLeave,
 | 
			
		||||
			"create":          cmdCreateRoom,
 | 
			
		||||
			"pm":              cmdPrivateMessage,
 | 
			
		||||
			"join":            cmdJoin,
 | 
			
		||||
			"kick":            cmdKick,
 | 
			
		||||
			"ban":             cmdBan,
 | 
			
		||||
 
 | 
			
		||||
@@ -27,8 +27,9 @@ import (
 | 
			
		||||
 | 
			
		||||
	"github.com/lucasb-eyer/go-colorful"
 | 
			
		||||
 | 
			
		||||
	"maunium.net/go/gomuks/debug"
 | 
			
		||||
	"maunium.net/go/mautrix"
 | 
			
		||||
 | 
			
		||||
	"maunium.net/go/gomuks/debug"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func cmdMe(cmd *Command) {
 | 
			
		||||
@@ -122,6 +123,7 @@ func cmdHelp(cmd *Command) {
 | 
			
		||||
/rainbow <message> - Send a rainbow message (markdown not supported).
 | 
			
		||||
 | 
			
		||||
/create [room name]  - Create a room.
 | 
			
		||||
/pm <user id> <...>  - Create a private chat with the given user(s).
 | 
			
		||||
/join <room address> - Join a room.
 | 
			
		||||
/leave               - Leave the current room.
 | 
			
		||||
 | 
			
		||||
@@ -201,7 +203,6 @@ func cmdKick(cmd *Command) {
 | 
			
		||||
		debug.Print("Error in kick call:", err)
 | 
			
		||||
		debug.Print("Failed to kick user:", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func cmdCreateRoom(cmd *Command) {
 | 
			
		||||
@@ -217,6 +218,22 @@ func cmdCreateRoom(cmd *Command) {
 | 
			
		||||
	cmd.MainView.SwitchRoom("", room)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func cmdPrivateMessage(cmd *Command) {
 | 
			
		||||
	if len(cmd.Args) == 0 {
 | 
			
		||||
		cmd.Reply("Usage: /pm <user id> [more user ids...]")
 | 
			
		||||
	}
 | 
			
		||||
	req := &mautrix.ReqCreateRoom{
 | 
			
		||||
		Preset: "trusted_private_chat",
 | 
			
		||||
		Invite: cmd.Args,
 | 
			
		||||
	}
 | 
			
		||||
	room, err := cmd.Matrix.CreateRoom(req)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		cmd.Reply("Failed to create room:", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	cmd.MainView.SwitchRoom("", room)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func cmdJoin(cmd *Command) {
 | 
			
		||||
	if len(cmd.Args) == 0 {
 | 
			
		||||
		cmd.Reply("Usage: /join <room>")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user