summaryrefslogtreecommitdiff
path: root/main/Test.hs
diff options
context:
space:
mode:
Diffstat (limited to 'main/Test.hs')
-rw-r--r--main/Test.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/main/Test.hs b/main/Test.hs
index 741ffe8..1b156ae 100644
--- a/main/Test.hs
+++ b/main/Test.hs
@@ -290,6 +290,7 @@ commands = map (T.pack *** id)
, ("chatroom-unsubscribe", cmdChatroomUnsubscribe)
, ("chatroom-members", cmdChatroomMembers)
, ("chatroom-join", cmdChatroomJoin)
+ , ("chatroom-join-as", cmdChatroomJoinAs)
, ("chatroom-leave", cmdChatroomLeave)
, ("chatroom-message-send", cmdChatroomMessageSend)
]
@@ -757,7 +758,7 @@ cmdChatroomListLocal = do
cmdChatroomWatchLocal :: Command
cmdChatroomWatchLocal = do
[] <- asks tiParams
- h <- getHead
+ h <- getOrLoadHead
out <- asks tiOutput
void $ watchChatrooms h $ \_ -> \case
Nothing -> return ()
@@ -815,6 +816,14 @@ cmdChatroomJoin = do
joinChatroomByStateData =<< getChatroomStateData cid
cmdOut "chatroom-join-done"
+cmdChatroomJoinAs :: Command
+cmdChatroomJoinAs = do
+ [ cid, name ] <- asks tiParams
+ st <- asks tiStorage
+ identity <- liftIO $ createIdentity st (Just name) Nothing
+ joinChatroomAsByStateData identity =<< getChatroomStateData cid
+ cmdOut $ unwords [ "chatroom-join-as-done", T.unpack cid ]
+
cmdChatroomLeave :: Command
cmdChatroomLeave = do
[ cid ] <- asks tiParams