Beispiel #1
0
        public async Task Execute_MuteAllExecutableSuccessful_SendsCommands()
        {
            // arrange
            var server = SetupServer(out var executor, out var session);
            var exec   = new MuteAll {
                ChannelName = "Test Channel 12"
            };

            server.Response = ""
                              + "TS3\r\n"
                              + "Welcome to the TeamSpeak 3 ServerQuery interface.\r\n"
                              + "cid=6 channel_name=Test\\sChannel\\s12|"
                              + "cid=7 channel_name=Test\\sChannel\\s123\r\n"
                              + "error id=0 msg=ok\r\n"
                              + "clid=93 cid=1 client_database_id=1 client_nickname=serveradmin client_type=1|"
                              + "clid=90 cid=6 client_database_id=247 client_nickname=User\\s1 client_type=0|"
                              + "clid=88 cid=6 client_database_id=2 client_nickname=User\\s2 client_type=0\r\n"
                              + "error id=0 msg=ok\r\n"
                              + "error id=0 msg=ok\r\n"
                              + "error id=0 msg=ok\r\n";

            // act
            executor.Schedule(exec);
            executor.Stop();
            await session;

            // assert
            Assert.Equal(""
                         + "channelfind pattern=Test\\sChannel\\s12\n"
                         + "clientlist\n"
                         + "clientedit clid=90 client_is_talker=0\n"
                         + "clientedit clid=88 client_is_talker=0\n"
                         + "", server.Receive);
        }
        public void OnGameStarted(IGameStartedEvent evt)
        {
            var code = evt.Game.Code;

            logger.LogInformation($"[{code}] Game started, muting all clients.");

            var mute = new MuteAll {
                ChannelName = $"Impostor {code}"
            };

            executor.Schedule(mute);
        }