Remove room alias argument and switch to room after creating

This commit is contained in:
Tulir Asokan 2019-06-14 20:56:41 +03:00
parent fcd44fe63f
commit 7c39729ada
2 changed files with 10 additions and 23 deletions

View File

@ -40,6 +40,7 @@ type MatrixContainer interface {
MarkRead(roomID, eventID string)
JoinRoom(roomID, server string) (*rooms.Room, error)
LeaveRoom(roomID string) error
CreateRoom(req *mautrix.ReqCreateRoom) (*rooms.Room, error)
GetHistory(room *rooms.Room, limit int) ([]*mautrix.Event, error)
GetEvent(room *rooms.Room, eventID string) (*mautrix.Event, error)

View File

@ -121,7 +121,7 @@ func cmdHelp(cmd *Command) {
/me <message> - Send an emote message.
/rainbow <message> - Send a rainbow message (markdown not supported).
/create <Room Name> <RoomAlias> - Create a room with associated alias. (Alias must not contain spaces.)
/create [room name] - Create a room.
/join <room address> - Join a room.
/leave - Leave the current room.
@ -205,30 +205,16 @@ func cmdKick(cmd *Command) {
}
func cmdCreateRoom(cmd *Command) {
if len(cmd.Args) < 2 {
cmd.Reply("Usage: /create <Room Name> <RoomAlias> (Alias must not contain spaces.)")
req := &mautrix.ReqCreateRoom{}
if len(cmd.Args) > 0 {
req.Name = strings.Join(cmd.Args, " ")
}
room, err := cmd.Matrix.CreateRoom(req)
if err != nil {
cmd.Reply("Failed to create room:", err)
return
}
// Get room name as one string from cmd.Args
roomName := ""
for i, v := range cmd.Args {
if i == len(cmd.Args)-1 {
break
}
roomName += fmt.Sprintf("%s ", v)
}
last := len(cmd.Args) - 1 // last arg for room alias
// Build the ReqCreateRoom Struct
// https://godoc.org/maunium.net/go/mautrix#ReqCreateRoom
req := &mautrix.ReqCreateRoom{
Name: strings.TrimSpace(roomName),
RoomAliasName: cmd.Args[last],
}
_, err := cmd.Matrix.Client().CreateRoom(req)
debug.Print("Create room error:", err)
if err == nil {
cmd.Reply("The room has been created.")
}
cmd.MainView.SwitchRoom("", room)
}
func cmdJoin(cmd *Command) {