chiark / gitweb /
omg it works again!
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 18 Nov 2020 22:08:00 +0000 (22:08 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 18 Nov 2020 22:08:00 +0000 (22:08 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
demo/test.table.toml
src/bin/otter.rs
src/cmdlistener.rs
src/commands.rs

index ed537087f5f0c273cf12442d46e8c94ff228215b..c11b01af4b166ee2f5341b6db4682bf09d5cf8af 100644 (file)
@@ -9,11 +9,10 @@ timezone = "Europe/London"
 [[players]]
 account_glob = "server:*"
 
-#nick = "alice"
-#access = "FixedToken"
-#token = "kmqAKPwK4TfReFjMor8MJhdRPBcwIBpe"
+# USER=rustcargo  target/debug/otter --config ~ian/Rustup/Game/server/server.toml --account server: reset --reset-table ~ian/Rustup/Game/server/demo/test.table.toml dummy  ~ian/Rustup/Game/server/demo/test.game.toml
 
-#[[players]]
-#nick = "bob"
-#access = "FixedToken"
-#token = "ccg9kzoTh758QrVE1xMY7BQWB36dNJTx"
+# USER=rustcargo target/debug/otter --config ~ian/Rustup/Game/server/server.toml --super --fixed-token kmqAKPwK4TfReFjMor8MJhdRPBcwIBpe --account server:alice --game-name-account server: join-game dummy
+
+# USER=rustcargo target/debug/otter --config ~ian/Rustup/Game/server/server.toml --account server: library-list wikimedia \*
+
+# USER=rustcargo target/debug/otter --config ~ian/Rustup/Game/server/server.toml --account server: library-add dummy wikimedia chess-\*
index ce0390b79c98267dd9d4279d1030fff04289272a..09683820d8c1f13532d9655426c98dbc9bedbf1f 100644 (file)
@@ -415,8 +415,11 @@ impl DerefMut for ConnForGame {
 impl ConnForGame {
   #[throws(AE)]
   fn join_game(&mut self, ma: &MainOpts) {
+    let nick = ma.nick.clone()
+      .or_else(|| Some(ma.account.default_nick()));
+
     let insns = vec![
-      MGI::JoinGame { details: MgmtPlayerDetails { nick: ma.nick.clone() } },
+      MGI::JoinGame { details: MgmtPlayerDetails { nick } },
     ];
     let resp = self.alter_game(insns, None)?;
 
index 1bcce648f0ea328dec04e3c874080f3c57ea5651..ae4049f02152ff8c7c51cc98285b3f8b565589c5 100644 (file)
@@ -310,9 +310,9 @@ fn execute_game_insn<'cs, 'igr, 'ig : 'igr>(
       let account = &cs.current_account()?.notional_account;
       let (arecord, acctid) = ag.lookup(account)?;
       let (ig, auth) = cs.check_acl(ag, ig, PCH::Instance, &[TP::Play])?;
-      let nick = nick.ok_or(ME::ParameterMissing)?;
+      let nick = nick.ok_or(ME::MustSpecifyNick)?;
       let logentry = LogEntry {
-        html: Html(format!("{} ({}) joined the game",
+        html: Html(format!("{} [{}] joined the game",
                            &nick, &account)),
       };
       let timezone = &arecord.timezone
index bbe1e89fc03dfbc78c431d74142c4238f5986e34..589b0faf7bfe895b261d9183c777c23fb1841def 100644 (file)
@@ -151,8 +151,8 @@ pub enum MgmtError {
   ParseFailed(String),
   AuthorisationError,
   SuperuserAuthorisationRequired,
-  ParameterMissing,
   SpecifyAccount,
+  MustSpecifyNick,
   AlreadyExists,
   NickCollision,
   GameBeingDestroyed,